执行下面的程序段,输入字符 A
。
我的理解是:(关系运算符 ==
的优先级高于赋值运算符 =
)
将输入的字符和字符常量 A
进行比较,得出一个布尔值 1
,将 1
赋值给字符变量 ch
,此时 ch
的值应该是 1
。
test.c |
#include <stdio.h>
#include <Windows.h>
int main(void)
{
char ch;
while (ch = getchar() == 'A');
printf("ch = %d\n", ch);
system("pause");
return 0;
}
但是输出的是 0
不知道我哪里搞错了?