Logischer OR-Operator: ||
Syntax
logischer oder ausdruckslogischer
||
Ausdruck
Hinweise
Der logische OR-Operator (||
) gibt den booleschen Wert true
zurück, wenn entweder oder beide Operanden vorhanden sind true
und andernfalls zurückgegeben wird false
. Die Operanden werden implizit vor der Auswertung in typkonvertiert bool
, und das Ergebnis ist vom Typ bool
. Das logische OR weist eine Assoziativität von links nach rechts auf.
Die Operanden für den logischen OR-Operator müssen nicht denselben Typ aufweisen, sie müssen jedoch boolescher, integraler oder Zeigertyp sein. Die Operanden sind im Allgemeinen relationale oder Gleichheitsausdrücke.
Der erste Operand wird vollständig ausgewertet und alle Nebeneffekte werden abgeschlossen, bevor die Auswertung des logischen OR-Ausdrucks fortgesetzt wird.
Der zweite Operand wird nur ausgewertet, wenn der erste Operand ausgewertet false
wird, da die Auswertung nicht erforderlich ist, wenn der logische OR-Ausdruck ist true
. Es wird als Kurzschlussauswertung bezeichnet.
printf( "%d" , (x == w || x == y || x == z) );
Wenn das zweite Argument der Funktion im obigen Beispiel x
gleich einem w
oder z
y
dem zweiten Argument der printf
Funktion isttrue
, das dann zu einer ganzen Zahl heraufgestuft wird und der Wert 1 gedruckt wird. Andernfalls wird false
der Wert 0 ausgewertet, und der Wert 0 wird gedruckt. Sobald eine der Bedingungen ausgewertet wird, stoppt true
die Auswertung.
Operator Schlüsselwort (keyword) für||
C++ gibt or
als alternative Schreibweise für ||
. In C wird die alternative Schreibweise als Makro im <Iso646.h-Header> bereitgestellt. In C++ ist die alternative Schreibweise ein Schlüsselwort (keyword); die Verwendung von <iso646.h> oder das C++-Äquivalent <ciso646> ist veraltet. In Microsoft C++ ist die Option oder /Za
die /permissive-
Compileroption erforderlich, um die alternative Schreibweise zu aktivieren.
Beispiel
// 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;
}
Siehe auch
Integrierte C++-Operatoren, Rangfolge und Zuordnung
Logische C-Operatoren
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für