論理 OR 演算子 ||
|| (論理 OR) 演算子は、いずれかのオペランドが真であるかどうかを示します。
オペランドのいずれかにゼロ以外の値がある場合は、結果の値は 1 になります。そうでない場合は、結果の値は 0 になります。その結果の型は int です。オペランドは両方とも、算術型またはポインター型でなければなりません。
各オペランドには、通常の算術変換が
実行されます。
いずれかのオペランドの値が true である場合は、その結果の値は、true になります。そうでない場合は、結果の値はfalsになります。
両オペランドは、暗黙的に bool へ変換されます。結果型は bool です。
| (ビット単位包含 OR) 演算子と異なり、|| 演算子では、 オペランドは必ず左から右に評価されます。左方オペランドがゼロ以外の値 (または真) である場合は、 右方オペランドは評価されません。
次の例では、論理 OR 演算子を含む式が 評価される方法を示します。
| 式 | 結果 |
|---|---|
| 1 || 0 | true または 1 |
| 1 || 4 | true または 1 |
| 0 || 0 | false または 0 |
次の例では、論理 OR 演算子を使用して
、y を条件付きで増分します。
++x || ++y;
式 ++x が、ゼロ以外 (または真) の値になる場合、 式 ++y は、評価されません。
注: 論理 OR 演算子 (||) を、
ビット単位 OR 演算子 (|) と混同しないでください。次に例を示します。
1 || 4 は評価の結果 1 (または真) になります。
一方、
1 | 4 は評価の結果 5 になります。