English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Exp1 ? Exp2 : Exp3;
onde, Exp1、Exp2 e Exp3 é uma expressão. Note o uso e a posição do dois-pontos. O valor da expressão ? : depende de Exp1 o resultado da contagem.1 é verdadeiro, então calcular Exp2 o valor, e Exp2 o resultado da contagem é o valor da expressão ? : inteira. Se Exp1 é falso, então calcular Exp3 o valor, e Exp3 o resultado da contagem é o valor da expressão ? : inteira.
? é chamado operador ternário, pois precisa de três operandos, pode ser usado para substituir o if-Sentença else:
if(condition){ var = X; }else{ var = Y; }
Por exemplo, veja o seguinte código:
if(y < 10){ var = 30; }else{ var = 40; }
O código acima pode ser escrito da seguinte forma:
var = (y < 10) ? 30 : 40;
Aqui, se y for menor que 10então o valor atribuído a var será 30, se y não for menor que 10então o valor atribuído a var será 40. Veja o exemplo a seguir:
#include <iostream> using namespace std; int main () { // Declaração de Variáveis Locais int x, y = 10; x = (y < 10) ? 30 : 40; cout << "Valor de x: " << x << endl; return 0; }
Quando o código acima for compilado e executado, ele produzirá o seguinte resultado:
Valor de x: 40