Если выражение1 истинно, значением всего выражения будет значение выражения2, иначе — выражения3.
Вместо оператора if-else иногда может быть использована условная операция ?:. Она выполняет проверку и выбор между двумя значениями внутри одного выражения. В отличие от конструкции if-else, являющейся оператором, эта операция может использоваться там, где синтаксис требует указывать выражение. Поэтому использование условной операции зачастую является более кратким и эффективным.
Это единственная операция, составленная из двух символов, разделенных между собой выражениями (в отличии от операций &&, ||, >=, <= и т.д.). Это единственная операция, требующая три операнда.
Пример 1
/* Функция вычисления абсолютной величины*/
int abs(int x)
{
if ( x >= 0)
return x;
else
return -x;
}
Пример 2
/* Альтернативный вариант*/
int abs(int x)
{
return (x >= 0) ? x : -x;
}