Opérateur OR logique : ||
Syntaxe
logical-or-expression
||
logical-and-expression
Notes
L’opérateur OR logique (||
) retourne la valeur true
booléenne si l’un ou les deux opérandes est true
et retourne false
sinon. Les opérandes sont implicitement convertis en type bool
avant l’évaluation, et le résultat est de type bool
. L'opérateur OR logique présente une associativité de gauche à droite.
Les opérandes de l’opérateur OR logique n’ont pas besoin d’avoir le même type, mais ils doivent être de type booléen, intégral ou pointeur. Les opérandes sont souvent des expressions relationnelles ou d’égalité.
Le premier opérande doit être complètement évalué et tous les effets secondaires terminés pour que l’évaluation de l’expression OR logique se poursuive.
Le deuxième opérande est évalué uniquement si le premier opérande prend la false
valeur , car l’évaluation n’est pas nécessaire lorsque l’expression OR logique est true
. Il s’agit de l’évaluation de court-circuit .
printf( "%d" , (x == w || x == y || x == z) );
Dans l’exemple ci-dessus, s’il x
est égal à w
, y
ou z
, le deuxième argument à la printf
fonction prend true
la valeur , qui est ensuite promu en entier, et la valeur 1 est imprimée. Sinon, elle prend la false
valeur 0 et la valeur 0 est imprimée. Dès que l’une des conditions est évaluée true
, l’évaluation s’arrête.
Mot clé d’opérateur pour||
C++ spécifie or
comme autre orthographe pour ||
. En C, l’orthographe alternative est fournie en tant que macro dans l’en-tête <iso646.h> . En C++, l’orthographe alternative est une mot clé ; l’utilisation de <iso646.h> ou ciso646> équivalent <C++ est déconseillée. Dans Microsoft C++, l’option ou /Za
le /permissive-
compilateur est nécessaire pour activer l’orthographe alternative.
Exemple
// 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;
}
Voir aussi
Opérateurs intégrés C++, priorité et associativité
Opérateurs logiques C
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour