Операция условный оператор: ?
Тип операндов - арифметические; второй и третий операнды могут быть указателями, структурами, объединениями. Тип результата: int, long, unsigned, double, указатель, структура или объединение. Второй и третий операнды преобразуются к одному и тому же типу.
Условный оператор является единственным оператором, для которого необходимы три операнда; используется он следующим образом:
a ? b : c
где a, b, c - выражения. Если a не равно 0, то результат выражения a ? b : c равен b; иначе результат равен c. Из двух последних операндов вычисляется только один.
Использование:
ae?e1:e2
или
pe?e1:e2 (где pe - указатель)
Если истинно ae или pe, то выполняется e1; иначе выполняется e2. Значением этого выражения является значение выражения e1 или e2.
Пример:
abs=(i<=0)?-i:i;