邏輯 OR 運算子: ||
語法
logical-or-expression
||
logical-and-expression
備註
如果或兩個運算元為 true
,則邏輯 OR 運算子 ( ||
) 會傳回布林值 true
,否則會傳 false
回 。 運算元會在評估之前隱含轉換成類型 bool
,而結果的類型 bool
為 。 邏輯 OR 具有由左至右的順序關聯性。
邏輯 OR 運算子的運算元不一定要有相同的類型,但它們必須是布林值、整數或指標類型。 運算元通常是關聯或相等運算式。
第一個運算元會經過完整求值,並且會在所有副作用完成之後,才繼續求出邏輯 OR 運算式的值。
只有在第一個運算元評估為 false
時,才會評估第二個運算元,因為邏輯 OR 運算式為 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。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應