In c language, question mark and semicolon constitute ternary operators.
conditions? Execute when the condition is true: Execute when the condition is false
Value=condition? Value when condition is true: value when condition is false
x <20 ? x++ : x--;
is equal to :
if (x < 20) {
x++;
}
else {
x--;
}