如果它们确实位于不同的行中,则不应在 Exp1 || 中Exp2 && Exp3
, (Exp2 && Exp3)
被首先评估,因为 &&
的优先级高于 ||
?
而且,如果它们确实位于同一行,那么执行顺序不应该是首先 (Exp1 || Exp2)
然后是 && Exp3
因为两者都是左关联的?
最佳答案
Exp1 || Exp2 && Exp3
被分组为 Exp1 || (Exp2 && Exp3)
,由于运算符优先。
请注意,(Exp2 && Exp3)
仅在 Exp1
的计算结果为 0 时才实际计算,然后是 Expr3
仅在 Exp2
计算为 1 时计算。这称为短路。
他们在不同的“行”是无关紧要的。
关于c - '&&' 和 '||' 是在运算符优先级的同一行还是不同的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50695552/