if ステートメント内で複数の OR 条件を使用すると、複数の条件を同時に評価する場合に便利なテクニックとなります。ただし、これらの条件を表現する構文は混乱を招く可能性があります。
以下のコード スニペットでは、ユーザーの入力数値が 1、2、または 3 に等しいかどうかを評価することを目的としています。
if (number==1||2||3) { cout << "Your number was 1, 2, or 3." << endl; }
しかし、このコードは期待どおりに機能しません。問題は構文にあります。条件の記述方法で、コンパイラはそれを次のように解釈します。
if ( (number == 1) || 2 || 3 ) {
この解釈では、論理 OR 演算子 (||) は、左側のどちらかが一致する場合に true と評価されます。 true または右側が true です。 2 と 3 はどちらも true 値であるため、number の値に関係なく、条件全体が true と評価されます。
複数の OR 条件を正しく表現するには、各条件を変数に対して明示的に評価する必要があります:
if (number==1 || number==2 || number==3) { cout << "Your number was 1, 2, or 3." << endl; }
この構文では、条件は正しく評価され、number が 1、2、または 3 に等しい場合にのみ true を返します。
以上がif ステートメントで複数の OR 条件を正しく使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。