ステートメントで論理積とOR演算子がどのように評価されるかを知る必要があります。私はそれを説明しようとしているいくつかのサイトを見つけましたが、私はそれらの頭も尾も作ることができません。中かっこを使って好きなように注文できることは知っていますが、どのように機能するかを理解したいと思います。
たとえば
if( b1 && b2 || b3 )
次のように評価されます:
(b1 && b2) || b3
またはとして:
b1 && (b2 || b3)
ステートメントで論理積とOR演算子がどのように評価されるかを知る必要があります。私はそれを説明しようとしているいくつかのサイトを見つけましたが、私はそれらの頭も尾も作ることができません。中かっこを使って好きなように注文できることは知っていますが、どのように機能するかを理解したいと思います。
たとえば
if( b1 && b2 || b3 )
次のように評価されます:
(b1 && b2) || b3
またはとして:
b1 && (b2 || b3)
より高い優先順位を持つ演算子の優先順位テーブルで見つけることができます。これは、次のように評価されることを意味します。&&
||
(b1 && b2) || b3
ただし、とは両方とも&&
短絡し||
ていることに注意してください。つまり、とを評価する必要はb2
ありb3
ません。たとえば、と評価された場合b1
、false
はb2
まったく評価されません。また、と評価された場合、b1 && b2
評価されtrue
ませb3
ん。
&&
この点で同じ||
ように機能します。*
+