执行下面的程序段,输入字符 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

不知道我哪里搞错了?
