A linguagem C possui um operador ternário que é representado pelo operador (?:) como pode
ser conferido na sintaxe abaixo. Para execução de pequenos trechos de código, esse operador
pode ser utilizado.
Sintaxe
(condicao) ? expressao1 : expressao2;
Fig. 4: Fluxograma do Comando if ternário
 |
Caso condicao seja verdadeira, a instrução contida em expressão1 será executada. Sendo condicao
falsa, a instrução contida em expressao2 será executada.
Exemplo 6
#include <stdio.h>
int main()
{
int valor = 0;
int valor2 = 1;
valor = ( valor2 > 0) ? 1 : 0;
}
Saída
1
Tanto expressao1 quanto expressao2 podem conter funções ou expressões em seu corpo:
Exemplo 7
int valor2 = (valor == 10) ? valor++: valor--;
int valor3 = (valor == 10) ? funcao1() : funcao2();
Saída
-
O if ternário pode ser utilizado em funções sendo passado como argumento:
Exemplo 8
printf("%s",((valor > 0) ? "maior" : "menor"));
Saída
-