Вывод инструкции 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)