Ответ 1
return
- это утверждение. Таким образом, выражения не могут использоваться внутри выражений.
Почему мы не можем использовать ключевое слово return внутри тернарных операторов в C, например: sum > 0? return 1: return 0;
return
- это утверждение. Таким образом, выражения не могут использоваться внутри выражений.
Поскольку тройная операция является выражением, и вы не можете использовать выражения в выражениях.
Вы можете легко использовать тернарный оператор в возврате, хотя.
return sum > 0 ? 1 : 0;
Или, как указал DrDipShit:
return sum > 0;
Потому что return
- это выражение, а не выражение. Вы также не можете сделать int a = return 1;
.
См. синтаксис тернарного оператора
expr1 ? expr2: expr3;
где expr1
, expr2
, expr3
- выражения;
Оператор ?:
работает следующим образом
expr1
оценивается сначала, если оно истинно expr2
оценивается иначе expr3
оценивается.
поэтому в выражениях оператор return не может использоваться на языке C.
Просто взглянув на синтаксис, вы должны знать, что оператор не может использоваться в выражении.
То, что вы хотите, может быть достигнуто, выполнив: return sum > 0 ? 1 : 0;