次のように、イベント a、b、c、... のいずれかが true であることを確認する if 条件があるとします。
if(a || b || c || .... || z)
do something
私の質問は、条件 c が真であることが判明したとしましょう。次に、プログラムは条件 d から z を評価しますか、それとも「何かをする」命令の実行に進みますか?
次のように、イベント a、b、c、... のいずれかが true であることを確認する if 条件があるとします。
if(a || b || c || .... || z)
do something
私の質問は、条件 c が真であることが判明したとしましょう。次に、プログラムは条件 d から z を評価しますか、それとも「何かをする」命令の実行に進みますか?
あるとしましょうint a = b = c = 1
。式がすでに真であるため、コンパイラーはそれをチェックし続けないため、OR句は真である必要がある条件の1つだけを必要とし、1のままになるため、ステートメントの後に2になり
ます++a || ++b;
。ただし、論理的に
は0 に評価されます。したがって、他の条件のチェックを続けます:論理的に真である 2 になります。
では、何を覚えておく必要がありますか? a
b
--a || ++b
a
false
b
これはすべて呼ばれます
短絡評価
詳細については、ここをクリックしてください。