Тернарные операторы и Возвращение в C

Почему мы не можем использовать ключевое слово return внутри тернарных операторов в C, например: sum > 0? return 1: return 0;

Ответы

Ответ 1

return - это утверждение. Таким образом, выражения не могут использоваться внутри выражений.

Ответ 2

Поскольку тройная операция является выражением, и вы не можете использовать выражения в выражениях.

Вы можете легко использовать тернарный оператор в возврате, хотя.

return sum > 0 ? 1 : 0;

Или, как указал DrDipShit:

return sum > 0;

Ответ 3

Потому что return - это выражение, а не выражение. Вы также не можете сделать int a = return 1;.

Ответ 4

См. синтаксис тернарного оператора

expr1 ? expr2: expr3;

где expr1, expr2, expr3 - выражения;

Оператор ?: работает следующим образом expr1 оценивается сначала, если оно истинно expr2 оценивается иначе expr3 оценивается.

поэтому в выражениях оператор return не может использоваться на языке C.

Ответ 5

Просто взглянув на синтаксис, вы должны знать, что оператор не может использоваться в выражении. То, что вы хотите, может быть достигнуто, выполнив: return sum > 0 ? 1 : 0;