#include <stdio.h> main() { char ch; while (ch=getchar()=='A'); printf("%d",ch); } 输入A结果为0

我只输入了一个A,条件一直是真,是循环的,没让它停下来,条件没有假的时候,它为什么会打印出数呢?

void main()

{

 char ch;

 while (ch =getchar() =='A')

 {

   printf("%d",ch);

 }

 cout<<endl;

}

输入A,输出结果为1不是0,输入不为A 就不会输出。只会输出一个空格。

你输出时是"%d",要想输出A就得用"&c";

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-05-07
while (ch=getchar()=='A');这个是你没有加括号 就成了 ch= (getchar()=='A' )
是先与A比完后赋值给ch 还有 getchar()是以回车做结束的,所以你最好换成用 getche()

while ((ch=getche())=='A');本回答被网友采纳
第2个回答  2011-03-13
你输出的是%d 这是个十进制表示符 估计换成%才就可以了
第3个回答  2011-03-13
字符不能比教
相似回答