Ternary operator is a compact conditional assignment.
It serves to set a value of a variable depending on a boolean expression or a boolean variable.
a = b ? c : d;
The expression above is same as:
if ( b ) { a = c; } else { a = d; }
The a
, c
and d
variables
must be of the same data type
(or type of c
and d
must be convertible to type of a
using automatic conversion).
The b
variable is boolean
.
b
, c
or d
do not have to be variables.
They may be constants or expressions.
a
has to be a variable.