Arduino - Operatore condizionale? :

L'operatore condizionale? : è l'unico operatore ternario in C.

? : operatore condizionale Sintassi

expression1 ? expression2 : expression3

Expression1 viene valutata per prima. Se il suo valore è true, viene valutata expression2 e expression3 viene ignorata. Se expression1 viene valutata come falsa, expression3 restituisce e expression2 viene ignorata. Il risultato sarà un valore di expression2 o expression3 a seconda di quale di essi viene valutato come True.

L'operatore condizionale si associa da destra a sinistra.

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;

Regole dell'operatore condizionale

  • expression1 deve essere un'espressione scalare; expression2 e expression3 devono obbedire a una delle seguenti regole.
  • Entrambe le espressioni devono essere di tipo aritmetico.
  • expression2 e expression3 sono soggette alle consuete conversioni aritmetiche, che determinano il tipo risultante.
  • > Entrambe le espressioni devono essere di tipo void. Il tipo risultante è nullo.