Opérateur conditionnel ternaire

Il est possible de saisir une expression booléenne comportant un test. La syntaxe en est un peu particulière :

1
<expr1> ? <expr2> : <expr3>

où :

  • si <expr1> est non nulle, alors la valeur de <expr2> est fournie comme résultat.

  • sinon, c'est la valeur de <expr3> qui est fournie comme résultat.

Exemple

On peut ainsi condenser l'écriture d'une séquence comme celle-ci :

1
if (a>b)
2
   maximum=a;
3
else
4
   maximum=b;

en :

1
maximum = (a > b) ? a : b;

Ici :

  • <expr1> : (a > b)

  • <expr2> : a

  • <expr3> : b