【C语言】字符型数据 问题,会的来
来源:百度知道 编辑:UC知道 时间:2024/09/20 16:34:30
执行了以下语句:
while(ch=getchar()==‘A’);
输入A,
ch值为多少?
我觉得是1,答案是0
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