【发布时间】:2011-03-02 13:34:20
【问题描述】:
我读到了
int c;
while(c = getchar( ) != EOF)
{
putchar(c);
}
将根据下一个字符是否为 EOF 打印值 0 或 1。因为 != 的优先级高于 = 。
但是当我在 gcc 中运行这个程序时,我得到一个看起来像
|0 0|
|0 1|
当我按下回车时作为输出。
【问题讨论】:
-
我的理解是,由于首先发生不等式检查,因此变量 c 应该得到值 0,这相当于 false。
标签: c boolean operator-precedence