逻辑与运算符 &&
&& (逻辑 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 未求值。
注: 逻辑 AND (
,而
&&) 不应与按位 AND (&) 运算符混淆。 例如:1 && 4 求值为 1 (或 true),而
1 & 4 求值为 0