c语言的 当输入为abcd时,写出下列程序的输出结果。

作者&投稿:谷善 (若有异议请与网页底部的电邮联系)
c语言,请写出来下列程序的输出结果~

那个函数里的x只定义一次,下次再进去的时候还是上次的值,不是重新等于1,而且是函数内的x,不是全局变量x,主函数中for循环里的x是全局变量x也就是3
循环执行2次,结果为26

你会加断点吗?单步运行就可以看出来为什么了。
第一次循环开始的时候先执行c=getchar(),此时c=‘1’并且进行了输出,判断循环条件的时候又执行了“getchar()”,此时缓冲区中的‘2’已经被读取且未输出;
第二次循环开始的时候先执行c=getchar(),此时c=‘3’并且进行了输出,判断循环条件的时候又执行了“getchar()”,此时缓冲区中的‘4’已经被读取且未输出;
第三次循环开始的时候先执行c=getchar(),此时c=‘5’,因为此时getchar()==’#’不满足循环条件,所以未进行输出。
你想表达的意思应该是下面这样吧:
void main()
{
char c;
for(c=getchar(); c!='#'; c=getchar())
putchar(c);
return;
}

input: abcd
output:
aaa       当是a时,执行完Case 'a' :的printf()后,就又去执行后面的两个,所以会输出3个a, 下面与之同
bb
c
end!      当是d时,abc均不符合,故走default:其后有break;所以就只输出一个end!


#include<stdio.h>
int main()
{
char ch;
while((ch=getchar())!='\n')
{
switch(ch)
{
default:printf("end!");break;
case 'a':printf("%c",ch);
case 'b':printf("%c",ch);
case 'c':printf("%c",ch);
}
}
return 0;
}
输入a 则输出aaa
输入b 则输出bb
输入c 则输出c
输入d 则输出end

aaa
bb
c
end!

输出a b c;


达拉特旗18783423199: c语言的 当输入为abcd时,写出下列程序的输出结果. -
岑怎溶菌: input: abcd output: aaa 当是a时,执行完Case 'a' :的printf()后,就又去执行后面的两个,所以会输出3个a, 下面与之同 bb c end! 当是d时,abc均不符合,故走default:其后有break;所以就只输出一个end!

达拉特旗18783423199: 编写c语言程序,要求用户输入一个字符串,程序将字符串字母反序输出.即如果输入为abcd,则输出为dcba. -
岑怎溶菌: #include<stdio.h> #include<string.h> int main() { char str[20],c; int i,n; printf("str="); gets(str); n=strlen(str); for(i=0;i<n/2;i++) { c=str[i]; str[i]=str[n-i-1]; str[n-i-1]=c; } puts(str); return 0; }

达拉特旗18783423199: C 语言,当输入abcd,求程序输出的结果. 要解释. -
岑怎溶菌: while(i>0) { str[2*i] = str[i]; //偶数的位置填入相应的字符, str[2*i-1] = '*'; //奇数的位置填入'*' i--; } 结果是 a*b*c*d*

达拉特旗18783423199: 用C语言编写程序 用键盘输入字符串 abcd 程序则输出: hello.abcd 应该怎样编写 麻烦知道的把详细步骤写下 -
岑怎溶菌: #include main(int argc, char *argv[]) { char tmp[512]; memset(tmp, 0, sizeof(tmp)); printf("请输入:\n"); scanf("%s", tmp); printf("输出结果是: hello.%s\n", tmp); }

达拉特旗18783423199: 用C语言编写输入一串字符,如ABCD,输出一串字符是A*B*C*D以此类推 -
岑怎溶菌: 展开全部#include void main() { char str[100]; gets(str); char* p = str; while(*p != NULL) { printf("%c", *p); printf("*"); p++; } }

达拉特旗18783423199: C语言问题 就是把字符串中的内容逆置 比如 输入abcd 输出dcba -
岑怎溶菌: 你好!!! 修改如下:#include<string.h> #include<conio.h> #include<stdio.h>void main() {char str[100];char ch;int i,k;printf("输入啊:");scanf("%s",str);//用数组k=strlen(str);//求字符串的长度 for(i=0;i<k/2;i++) {ch=str[i]; str[i]=str[k-i-1]; str[k-i-1]=ch; }printf("%s\n",str);//不要用循环了,那样效率不高 }

达拉特旗18783423199: 输入四个数abcd怎么按从大到小输出 C语言程序 -
岑怎溶菌: 个整数的排序,有使用单个变量和使用数组二种方法实现.使用单个变量的方法:#include<stdio.h> int main() {int a,b,c,d,t; scanf("%d%d%d%d",&a,&b,&c,&d); if(a>b){t=a;a=b;b=t;} if(a>c){t=a;a=c;c=t;} if(a>d){t=a;a=d;d=t;} if(b>c){t=b;b=c;c=t;} ...

达拉特旗18783423199: C语言题 1.输入abcd输出aabbccdd 2.输入abcd输出abcddcba -
岑怎溶菌: #include //第一题 void first(char *str) { int len = strlen(str), i; for (i = 0; i < len; ++i){ printf ("%c%c", str[i], str[i]); } printf ("\n"); } //第二题 void second(char *str) { int len = strlen(str), i; for (i = 0; i < len; ++i){ printf ("%c", str[i]); } for (i = len-1; i >= 0; ...

达拉特旗18783423199: 编写一个C程序,实现输入abcd四个数比较出最大值最小值,并将最大值给a,最小值给d调用函数为vo -
岑怎溶菌: 很简单...自己动手就行了下面是伪代码...仅供参考 MAX=(a>b?a:b)>(c>d?c:d)?(a>b?a:b):(c>d?c:d) MIN=(a<b?a:b)<(c<d?c:d)?(a<b?a:b):(c<d?c:d)

达拉特旗18783423199: 写一道简单的c语言题目 -
岑怎溶菌: void fun(char s1[],char s2[],int m,int n) { int k=0; for(int i=0;s1[i]!='\n';i++,k++) { } if(k<=m) { s1[0]='\n'; }...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网