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