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--; }