C语言。输入china?时,输出结果是多少?为什么?

#include<stdio.h>
void main()
{
while(putchar(getchar())!='?');
}
正确答案是china
求解释。
的确是china

正确答案应该是china?啊。getchar()为获得一个字符,在这里先表示为ch,putchar()就是把字母ch输出,ch不等于?时,继续获得字符并输出、判断,读到?时,输出语句不符合条件,不再执行while语句,但是,putchar()是已经执行了的,应该有?
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-11-27
额。。我主要学的C++ 。。但这个问题应该是比较简单的。。putchar 是字符输出。。getchar是字符输入。我不知道getchar 的返回值是什么。。但看着这个尿性估计是int吧。。。这里用getchar进行输入。然后拿输入的字符和后面‘?’进行判断。。如果输入的字符不等于? 如果输入的数不等于? 那就用putchar 输出出来。如果等于。putchar就把他放过了。继续循环。。所以你输入china? 的时候。?被过滤掉了。输出的是china。。。

额。。。不对的地方请指教。。。追问

判断怎么在前面?

本回答被网友采纳
第2个回答  2012-11-26
什么也不输出,因为while下面什么也没写啊

C语言。输入china?时,输出结果是多少?为什么?
正确答案应该是china?啊。getchar()为获得一个字符,在这里先表示为ch,putchar()就是把字母ch输出,ch不等于?时,继续获得字符并输出、判断,读到?时,输出语句不符合条件,不再执行while语句,但是,putchar()是已经执行了的,应该有?

如果从键盘上输入“china#<回车>”,则输出结果是什么?
这道题选c。是这样的:先看while循环的判断条件:while ((ch=getchar())!=‘#’)。当ch接收到#号的时候退出循环。因为你输入的是:china#。所以此循环执行5次。再看while循环里的switch语句,有没有发现没有一个break。没有break就代表着会继续往下执行。 所以这个switch根本起不到判断的目的。每...

115、运行以下程序后,如果从键盘上输入china#,则输出结果为
输入china#后,while循环判断6次,在判断第六次时,由于是#号,所以不再while循环,不再运行while的内部代码(即switch语句),所以 结果为5,5 求点赞

如何使用C语言在键盘上输入I3China 输出I China
int i, j;char c[] = "I3China";j = 0;while(1){ i = getchar();if(i == c[j]){ j++;if(j == 7){ printf("I❤China");break;} else j = 0;} }

输入China?while((c=getchar())!='?') putchar( c)结果
如果没读到回车符号“\\n”就回显读取到的字符getchar();是用于读取putchar()是将读取到的字符显示在终端中判断读取到的字符是否是 '\\n'不是则循环终止,也就是说换行符号\\n显示了一次。

、设计一程序,实现从键盘输入“china", 将其转换为大写形式输出?
include <stdio.h> int main(){ char s[200];int i;scanf("%s",s);for(i=0;s[i];i++)if(s[i]>='a'&&s[i]<='z')s[i]-=32;printf("%s\\n",s);return 0;}

C语言入门 输出结果是多少 为什么?
a 的值 变成了20 因为*pa是指针,指向了a的地址,对pa的内容进行操作(赋值),也就是对a的内容进行操作。所以。

第6题c语言,为什么我这样写都行的,结果输入China就得到Glmre,然后为什 ...
你在代码的变量已经赋值为 Glmre 无论你输入China 或是 anihC都不会改变输出

C语言问题 运行结果是多少 为什么 求详细解答
结果15 之所以容易被理解错误是由于运算符优先级的问题 解决此类问题,第一步,宏展开 k=10*MIN(i,j);即 k=10*(i)<(j)? (i):(j);第二步,根据运算符优先级、结合性判断 原式等效于 k=(10*(i))<(j)? (i):(j);二目运算符*优先级高于三目运算符? :第三步,代入值,判断...

c语言环境中%s表示什么
用来输出一个串。有几中用法%s:例如:printf("%s", "CHINA")输出"CHINA"字符串(不包括双引号)。ms:输出的字符串占m列,如字符串本身长度大于m,则突破获m的限制,将字符串全部输出。若串长小于m,则左补空格。%-ms:如果串长小于m,则在m列范围内,字符串向左靠,右补空格。%m.ns:输出...

相似回答