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