Operador lógico OR: ||
logical-or-expression || logical-and-expression
Comentarios
El operador lógico OR (||) devuelve el valor booleano TRUE si uno o ambos operandos son TRUE y devuelve Falso de otra manera.Los operandos se convierten implícitamente para escribir bool antes de evaluación, y el resultado es de boolescrito.La disyunción lógica tiene asociatividad de izquierda a derecha.
Los operandos al operador lógico OR no necesitan ser del mismo tipo, pero deben ser entero o de puntero.Los operandos son normalmente expresiones relacional o de igualdad.
El primer operando se evalúa completamente y todos los efectos secundarios se completa antes de continuar la evaluación de la expresión OR lógica.
Se evalúa el segundo operando sólo si el primer operando se evalúa como false (0).Esto elimina la evaluación innecesaria del segundo operando cuando la expresión OR lógica es true.
printf( "%d" , (x == w || x == y || x == z) );
En el ejemplo anterior, si x es igual a w, a y, o a z, el segundo argumento de la función de printf se evalúa como true y se imprime el valor 1.Si no, se evalúa como false y se imprime el valor 0.Tan pronto como una de las condiciones se evalúe como true, la evaluación cesa.
Palabra clave operator para ||
El operador de O es el equivalente de texto de ||.Hay dos maneras de tener acceso al operador de O en programas: incluya el archivo de encabezado iso646.h, o compile con la opción del compilador /Za (extensiones de lenguaje de deshabilitar la).
Ejemplo
// 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;
}