Тернарный оператор работает с выражениями, но return
является оператором.
Синтаксис оператора return
:
return
expr ;
Синтаксис троичного условного оператора:
expr1 ?
expr2 :
expr3
Таким образом, вы можете подключить вызов троичного оператора как expr в операторе return
.Но вы не можете подключить оператор return
как expr2 или expr3 троичного оператора.
Тернарное выражение действует во многом как оператор if
,но это не точная замена для оператора if
.Если вы хотите написать
if(sum > 0)
return 1;
else return 0;
, вы можете написать его как истинное выражение if
, но вы не можете преобразовать его в использование ? :
, не переставив его немного, как мы видели здесь.