while (!EOLorEOFfound) {
int ch == fgetc(stdin);
EOLorEOFfound = ch == '\n' || ch == EOF;
}
注意:EOLorEOFfound
是 bool 类型。
一位 StackOverFlow 用户就另一个问题给出了这个答案。请参阅此处:
How to determine if fgets stopped before all letters were read?
现在,我一直在困惑最后一行代码中的表达式实际上做了什么。我怀疑这可能是某种形式的三元运算符?
最佳答案
EOLorEOFfound = ch == '\n' || ch == EOF;
与
相同EOLorEOFfound = (ch == '\n' || ch == EOF);
即将 bool 表达式的结果赋给变量。这里没有魔法。
关于c - 当涉及多个算子时,执行顺序如何确定?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36886762/