C 中的逻辑运算符优先级

Logical operators precedence in C

逻辑运算符在 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

逻辑与优先于逻辑或。

“==”优先于逻辑 OR 和 AND。

请看:https://en.cppreference.com/w/c/language/operator_precedence