逻辑“或”运算符:||
语法
logical-or-expression
||
logical-and-expression
注解
如果任一操作数或两个操作数为 true
,则逻辑“或”运算符 (||
) 返回布尔值 true
;否则返回 false
。 操作数在计算之前隐式转换为类型 bool
,结果的类型为 bool
。 逻辑“或”具有从左向右的关联性。
逻辑“或”运算符的操作数不需要具有相同的类型,但它们必须是布尔值、整数或指针类型。 操作数通常为关系或相等表达式。
第一个操作数将完全计算,并且在继续计算逻辑“或”表达式之前将完成所有副作用。
仅当第一个操作数的计算结果为 false
时计算第二个操作数,因为当逻辑“或”表达式为 true
时不需要计算。 这称作“短路”计算。
printf( "%d" , (x == w || x == y || x == z) );
在上面的示例中,如果 x
与 w
、y
或 z
相等,则 printf
函数的第二个自变量的计算结果为 true
(之后增加至整数),并打印值 1。 否则,它的计算结果将为 false
,并打印值 0。 只要其中一个条件的计算结果为 true
,计算便会停止。
||
的运算符关键字
C++ 将 or
指定为 ||
的备选拼写。 在 C 中,备选拼写在 <iso646.h> 标头中作为宏提供。 在 C++ 中,备选拼写是关键字;已弃用 <iso646.h> 或 C++ 等效的 <ciso646>。 在 Microsoft C++ 中,需要 /permissive-
或 /Za
编译器选项才能启用备选拼写。
示例
// expre_Logical_OR_Operator.cpp
// compile with: /EHsc
// Demonstrate logical OR
#include <iostream>
using namespace std;
int main() {
int a = 5, b = 10, c = 15;
cout << boolalpha
<< "The true expression "
<< "a < b || b > c yields "
<< (a < b || b > c) << endl
<< "The false expression "
<< "a > b || b > c yields "
<< (a > b || b > c) << endl;
}
另请参阅
反馈
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:提交和查看相关反馈