Lógica ou operador: | |
logical-or-expression || logical-and-expression
Comentários
O operador lógico OR (||) retorna o valor booleano true se um ou ambos os operandos for true e retorna false contrário.Os operandos são implicitamente convertidos para o tipo bool antes da avaliação e o resultado são do tipo bool.OR lógico tem associatividade da esquerda para a direita.
Os operandos para o operador lógico OR não precisam ser do mesmo tipo, mas eles devem ser do tipo da integrais ou de ponteiro.Os operandos são comumente relacionais ou expressões de igualdade.
O primeiro operando é avaliado completamente e todos os efeitos lado são concluídos antes de continuar a avaliação da expressão OR lógico.
O segundo operando é avaliado apenas se o primeiro operando é avaliado como false (0).Isso elimina a avaliação desnecessária do segundo quando a expressão lógica OR for verdadeira.
printf( "%d" , (x == w || x == y || x == z) );
No exemplo acima, se x é igual a um w, y, ou z, o segundo argumento para o printf função é avaliada como true e o valor 1 é impresso.Caso contrário, ele é avaliado como false e o valor 0 é impresso.Assim que uma das condições for avaliada como true, a avaliação é interrompido.
Palavra-chave de operador para | |
O ou operador é o equivalente de texto do ||.Há duas maneiras para acessar o ou operador em seus programas: inclua o arquivo de cabeçalho iso646.h, ou compilar com o /Za opção de compilador (desabilitar extensões de linguagem).
Exemplo
// 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;
}