El operador
"?:", se trata de un operador ternario.
Sintaxis:
<expresión
lógica> ? <expresión> : <expresión>
En
la expresión
E1
? E2 : E3
primero
se evalúa la expresión E1, si el valor es verdadero
("true"), se evaluará la expresión E2
y E3 será ignorada, si es falso ("false"),
se evaluará E3 y E2 será ignorada.
Hay ciertas limitaciones en cuanto al tipo de los argumentos.
E1 debe ser una expresión lógica.
E2 y E3
han de seguir una de las siguientes reglas:
Ambas de tipo aritmético.
Ambas de estructuras o uniones compatibles.
Ambas de tipo "void".
Hay
más reglas, pero las veremos más adelante, ya que
aún no hemos visto nada sobre los conocimientos implicados.