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