【C语言】字符型数据 问题,会的来

来源:百度知道 编辑:UC知道 时间:2024/09/20 16:34:30
执行了以下语句:

while(ch=getchar()==‘A’);

输入A,
ch值为多少?

我觉得是1,答案是0

是0

因为你在输入时最后一个字符肯定不是‘A’,要么是回车(从键盘输入时结束输入要用回车),要么是空字符(从其它文件读取时,最后是个EOF),而while()中的getchar()最后读取的也就是你最后输入的字符。

是1,我在gcc下编译后执行得到结果是1

#include <stdio.h>

int main()
{
char ch;

while (ch = getchar() == 'A')
{
printf("%d\n", ch);
}

return 0;
}
输入'A'输出1

==符号的优先级是高于=号的,所以那句赋值语句是将getchar()==‘A’的值赋给ch,所以你如果输入为A那ch就为1,输别的ch就是0了。

这种只要运行下就知道了,是1