論理 AND &&

&& (論理 AND) 演算子は、両方のオペランドが true であるかどうかを示しま す。

C 両方のオペランドにゼロ以外の値がある場合は、結果の値は 1 になります。 そうでない場合は、結果の値は 0 になります。その結果の型は int です。 オペランドは両方とも、算術型またはポインター型でなければなりません。 各オペランドには、通常の算術変換が実行されます。

C++両方のオペランドの値が 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 != 00 (または false) に評価されるときは、式 x / y は評価されません。

注:
論理 AND 演算子 (&&) を、 ビット単位 AND 演算子 (&) と混同しないでください。 次に例を示します。


1 && 41 (または true) になります。
一方、
1 & 40 になります。

関連参照

IBM Copyright 2003