Условный оператор ?
Условный оператор ? аналогичен по своей работе конструкции if-else, но может использоваться внутри выражения. Он содержит три операнда-выражения. Операнды заключены в скобки и разделены запятыми, в начале вычисляется значение первого логического (целочисленного) выражения. Если значение не равно 0 (ИСТИНА), то вычисляется второе выражение и полученное значение становиться результатом работы условного оператора. В противном случае вычисляется третий операнд и возвращается его значение.
r = ?( a == 10, a, a + b )
if a >= ?( x, 0xFFF, ?( y < 5 && y > 2, y, 2*b )) + 2345
{
...
}