Arduino - Operador condicional? :

O operador condicional? : é o único operador ternário em C.

? : Sintaxe do operador condicional

expression1 ? expression2 : expression3

Expression1 é avaliada primeiro. Se seu valor for verdadeiro, a expressão2 será avaliada e a expressão3 será ignorada. Se a expressão1 for avaliada como falsa, a expressão3 será avaliada e a expressão2 será ignorada. O resultado será um valor de expression2 ou expression3, dependendo de qual delas for avaliada como True.

Operador condicional associado da direita para a esquerda.

Example

/* Find max(a, b): */
max = ( a > b ) ? a : b;
/* Convert small letter to capital: */
/* (no parentheses are actually necessary) */
c = ( c >= 'a' && c <= 'z' ) ? ( c - 32 ) : c;

Regras do Operador Condicional

  • expression1 deve ser uma expressão escalar; expression2 e expression3 devem obedecer a uma das seguintes regras.
  • Ambas as expressões devem ser do tipo aritmético.
  • expression2 e expression3 estão sujeitas a conversões aritméticas usuais, que determinam o tipo resultante.
  • > Ambas as expressões devem ser do tipo vazio. O tipo resultante é vazio.