如果它们确实位于不同的行中,那么不应该首先评估Exp1 || Exp2 && Exp3
,(Exp2 && Exp3)
,因为&&
的优先级高于||
?
而且,如果它们确实位于同一行,那么不应该先(Exp1 || Exp2)
然后&& Exp3
执行顺序,因为它们都是左关联的吗?
最佳答案
Exp1 || Exp2 && Exp3
由于运算符的优先级而被分组为Exp1 || (Exp2 && Exp3)
。
注意,只有当(Exp2 && Exp3)
的值为0时,Exp1
才被实际计算,而只有当Expr3
的值为1时,Exp2
才被计算这叫做短路。
他们处于不同的“行列”并不相关。