我需要知道如何在语句中评估逻辑AND和OR运算符。我找到了一些试图解释它的网站,但我无法做出它们的头脑或尾巴。我知道我可以用大括号来订购它我想要的但是我想了解它是如何工作的。
例如
if( b1 && b2 || b3 )
评估为:
(b1 && b2) || b3
或作为:
b1 && (b2 || b3)
答案 0 :(得分:9)
您可以在任何operator precedence table中找到&&
的优先级高于||
,这意味着它被评估为
(b1 && b2) || b3
请注意,&&
和||
都是短路的,这意味着不必评估b2
和b3
。例如,如果b1
评估为false
,则根本不会评估b2
。此外,如果b1 && b2
评估为true
,则不会评估b3
。
答案 1 :(得分:0)
&&
和||
就像*
和+
一样工作。