programadores usam o operador ternário para a tomada de decisões em vez de declarações condicionais mais longas se e de outra forma.
O operador ternário tomar três argumentos:
- A primeira é uma comparação argumento
- O segundo é o resultado mediante uma comparação true
- O terceiro é o resultado após uma falsa comparação
por Isso, ajuda a pensar o operador ternário como uma forma abreviada ou escrever um if-else., Aqui está um exemplo simples de tomada de decisão usando if e else:
int a = 10, b = 20, c;if (a < b) { c = a;}else { c = b;}printf("%d", c);
este exemplo leva mais de 10 linhas, mas isso não é necessário. Você pode escrever o programa acima em apenas 3 linhas de código usando um operador ternário.
a Sintaxe
condition ? value_if_true : value_if_false
A declaração de avalia value_if_true
se condition
for satisfeita e value_if_false
caso contrário.,
Aqui está o exemplo acima reescrito para usar o operador ternário:
int a = 10, b = 20, c;c = (a < b) ? a : b;printf("%d", c);
a Saída do exemplo acima deve ser:
10
c
é igual a a
porque a condição a < b
era verdade.
lembre-se que os argumentos value_if_true
e value_if_false
devem ser do mesmo tipo, e devem ser expressões simples em vez de declarações completas.
operadores ternários podem ser aninhados tal como declarações if-else., Considere o código a seguir:
int a = 1, b = 2, ans;if (a == 1) { if (b == 2) { ans = 3; } else { ans = 5; }} else { ans = 0;}printf ("%d\n", ans);
Aqui está o código acima reescrito usando um aninhados operador ternário:
int a = 1, b = 2, ans;ans = (a == 1 ? (b == 2 ? 3 : 5) : 0);printf ("%d\n", ans);
A saída de ambos os conjuntos de código acima deve ser: