Вывод инструкции IF-ELSE в C
C имеет следующий синтаксис для сокращенного оператора IF-ELSE
(integer == 5) ? (TRUE) : (FALSE);
Я часто нахожу, что требую только одной части (TRUE или FALSE) оператора и использую этот
(integer == 5) ? (TRUE) : (0);
Мне просто интересно, есть ли способ не включать часть ELSE в инструкцию, используя эту сокращенную нотацию?
Ответы
Ответ 1
Оператор ?:
должен вернуть значение. Если у вас не было части "else", что бы она вернула, когда логическое выражение было ложным? Разумное дефолт в некоторых других языках может быть нулевым, но, вероятно, не для C. Если вам просто нужно выполнить "if", и вам не нужно его возвращать значение, тогда набирать if
намного проще.
Ответ 2
Вопрос в том, можем ли мы как-то написать следующее выражение без частей then и else
(integer == 5) ? (THENEXPR) : (ELSEEXPR);
Если вам нужна только часть, которую вы можете использовать & &:
(integer == 5) && (THENEXPR)
Если вам нужна только часть else, используйте ||:
(integer == 5) || (ELSEEXPR)