当涉及多个运算符时,执行顺序如何确定?

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用户向我提供了有关另一个问题的答案.看这里:

如何在读取所有字母之前确定fgets是否停止?

现在,我一直在困惑最后一行代码中的表达式实际上是什么.我怀疑它可能是某种形式的三元运算符?

Eri*_*ler 7

EOLorEOFfound = ch == '\n' || ch == EOF;
Run Code Online (Sandbox Code Playgroud)

做同样的事

EOLorEOFfound = (ch == '\n' || ch == EOF);
Run Code Online (Sandbox Code Playgroud)

也就是说,将布尔表达式的结果赋给变量.这里没有魔力.