Alo*_*lon -1 c syntax variable-assignment logical-operators
while (!EOLorEOFfound) {
int ch == fgetc(stdin);
EOLorEOFfound = ch == '\n' || ch == EOF;
}
Run Code Online (Sandbox Code Playgroud)
注意:EOLorEOFfound
是bool类型.
StackOverFlow用户向我提供了有关另一个问题的答案.看这里:
现在,我一直在困惑最后一行代码中的表达式实际上是什么.我怀疑它可能是某种形式的三元运算符?
EOLorEOFfound = ch == '\n' || ch == EOF;
Run Code Online (Sandbox Code Playgroud)
做同样的事
EOLorEOFfound = (ch == '\n' || ch == EOF);
Run Code Online (Sandbox Code Playgroud)
也就是说,将布尔表达式的结果赋给变量.这里没有魔力.