逻辑或运算符 ||

|| (逻辑 OR) 运算符指示任一操作数是否为 true。

仅限 C 如果两个操作数中有一个是非零值,则结果为。 1 否则,结果具有值 0。 结果的类型为 int。 两个操作数都必须具有 一个 算术或指针类型。 对每个操作数进行常规的算术转换。 仅限 C

仅限 C + + 如果任一操作数的值为 ,则结果值为。 true true 否则,结果具有值 false。 两个操作数都隐式转换为 bool ,结果类型为 bool仅限 C + +

| (按位包含 OR) 运算符不同, || 运算符保证对操作数进行从左到右求值。 如果左操作数具有非零 (或 true) 值,那么不会对右操作数求值。

以下示例显示如何对包含逻辑 OR 运算符的表达式进行求值:

表达式 结果
1 || 0 true 或者 1
1 || 4 true 或者 1
0 || 0 false 或者 0
以下示例使用逻辑 OR 运算符有条件地递增 y:
++x || ++y;

当表达式 ++x 求值为非零 (或 true) 数量时,不会对表达式 ++y 求值。

注: 逻辑 OR (||) 不应与按位 OR (|) 运算符混淆。 例如:
   1 || 4 求值为 1 (或    true)
,而
1 | 4 求值为 5