逻辑运算符在 C 中是否有优先级(例如&&
在||
之后执行,反之亦然(,还是从左到右执行?我通常使用括号来确保它们正确执行,但有人问我这个问题,我不确定。
例如,a || b && c == 2
解释为(((a || b) && c) == 2)
或(a ||( b && (c == 2)))
条件被解释为(a ||( b && (c == 2)))
&&
比||
有更高的优先级,你可以在这里看到 https://en.cppreference.com/w/c/language/operator_precedence:
LogicalAND 的优先级在 Logical OR 之前。
"=="的优先级在逻辑 OR 和 AND 之前。
请看: https://en.cppreference.com/w/c/language/operator_precedence