邏輯運算子或者: | |
logical-or-expression || logical-and-expression
備註
邏輯 OR 運算子 (||) 會傳回布林值 ,則為 true 如果其中一個或兩個運算元都是 ,則為 true ,並傳回 ,則為 false 否則。 這些運算元可以隱含轉換可以在此輸入bool之前的評估,而結果是屬於型別bool。 邏輯 OR 具有從左到右順序關聯性。
邏輯 OR 運算子的運算元不一定要是相同的型別,但它們必須是整數或指標型別。 運算元都是常關聯式或相等運算式。
第一個運算元完全評估,所有的副作用完成後再繼續執行邏輯 OR 運算式的評估結果。
只有當第一個運算元評估為 false (0),會評估第二個運算元。 這可消除不必要的評估第二個運算元的邏輯 OR 運算式時,則為 true。
printf( "%d" , (x == w || x == y || x == z) );
在上述範例中,如果x等於是w, y,或z,第二個引數, printf函式會評估為 true,數值 1 會列印。 否則,它會評估為 false,數值 0 會列印。 只要其中一個條件為真時,評估就會消失。
運算子關鍵字 | |
或運算子是對等的文字||。 有兩種方法來存取或在程式中的運算子: 包含標頭檔iso646.h,以編譯或 /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;
}