Operator logiczny OR: ||
Składnia
wyrażenie logiczne lub
||
wyrażenie logiczne i wyrażenie
Uwagi
Operator logiczny OR () zwraca wartość logiczną,||
jeśli albo oba operandy są true
i zwracają false
w przeciwnym razie.true
Operandy są niejawnie konwertowane na typ bool
przed oceną, a wynik jest typu bool
. Wartość logiczna OR ma skojarzenie od lewej do prawej.
Operandy operatora logicznego OR nie muszą mieć tego samego typu, ale muszą być typu logicznego, całkowitego lub wskaźnika. Operandy są często wyrażeniami relacyjnymi lub równości.
Pierwszy operand jest obliczany całkowicie i wszystkie skutki uboczne są wykonywane przed kontynuowaniem oceny logicznego wyrażenia OR.
Drugi operand jest obliczany tylko wtedy, gdy pierwszy operand daje wartość false
, ponieważ ocena nie jest wymagana, gdy wyrażenie logiczne OR ma wartość true
. Jest znany jako ocena zwarciowa .
printf( "%d" , (x == w || x == y || x == z) );
W powyższym przykładzie, jeśli x
jest równy w
wartości , y
lub z
, drugi argument printf
funkcji daje wartość true
, która jest następnie podwyższona do liczby całkowitej, a wartość 1 jest drukowana. W przeciwnym razie oblicza wartość , false
a wartość 0 jest drukowana. Gdy tylko jeden z warunków zostanie obliczony na true
wartość , ocena zostanie zatrzymana.
Operator — słowo kluczowe dla ||
Język C++ określa or
jako alternatywną pisownię dla elementu ||
. W języku C alternatywna pisownia jest dostarczana jako makro w nagłówku <iso646.h> . W języku C++, alternatywna pisownia jest słowem kluczowym; użycie iso646.h> lub równoważnego <<ciso646> języka C++ jest przestarzałe. W języku Microsoft C++ /permissive-
opcja lub /Za
kompilatora jest wymagana do włączenia alternatywnej pisowni.
Przykład
// 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;
}
Zobacz też
Wbudowane operatory, pierwszeństwo i kojarzenie języka C++
Operatory logiczne języka C
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla