Wol*_*lph 29
因为三元运算是表达式而您不能在表达式中使用语句.
您可以在返回时轻松使用三元运算符.
return sum > 0 ? 1 : 0;
Run Code Online (Sandbox Code Playgroud)
或者DrDipShit指出:
return sum > 0;
Run Code Online (Sandbox Code Playgroud)
Ste*_*mit 13
三元运算符处理表达式,但是return是一个声明.
该return语句的语法是
return EXPR ;
三元条件运算符的语法是
expr1 ? expr2 : expr3
因此,您可以在语句中插入三元运算符的调用作为exprreturn.但是你不能将return语句作为三元运算符的expr2或expr3插入.
三元表达式很像一个if语句,但它并不是if语句的确切替代.如果你想写
if(sum > 0)
return 1;
else return 0;
Run Code Online (Sandbox Code Playgroud)
你可以把它写成一个真实的if陈述,但是你不能把它转换成使用? :而不用重新排列它,就像我们在这里看到的那样.