为什么我们不能在C中使用三元运算符中的return关键字,如下所示: sum> 0?返回1:返回0;三元运算符和回归C
回答
return
是一个声明。语句不能以这种方式在表达式中使用。
因为三元操作是一个表达式,所以不能在表达式中使用语句。
尽管你可以很容易地使用三元运算符。
return sum > 0 ? 1 : 0;
或者作为DrDipShit指出:
return sum > 0;
只是:return sum> 0;无论如何,它返回1或0。 – 2010-08-25 13:47:59
@DrDipShit:非常真实,在这种情况下,它的工作原理也一样:) – Wolph 2010-08-25 15:03:25
因为return
是一个语句,不是表达式。你也不能这样做int a = return 1;
。
参见三元操作符的语法是
expr1 ? expr2: expr3;
其中expr1
,expr2
,expr3
是表达式;
?:
工作原理如下 expr1
首先计算如果这是真的expr2
进行评估,否则expr3
评估操作。
因此在表达式中返回声明不能用于C语言。
-1,并没有真正回答这个问题。也不是旨在为您的网站吸引流量 – Hasturkun 2010-08-25 16:43:36
仅仅通过查看语法,您应该知道语句不能用在表达式中。 你想要什么可以通过这样做达到:return sum > 0 ? 1 : 0;
- 1. C三元运算符
- 2. 三元运算符C
- 3. 三元运算符shorthands?和?:
- 4. 三元运算符
- 5. 三元运算符作为C宏中三元运算符的操作数
- 6. 三元运算符的单个返回
- 7. 返回投掷三元运算符?
- 8. 三元运算符复杂返回?
- 9. 返回Collections.emptyList()失败,三元运算符
- 10. C#三元运算符不工作
- 11. java vs c中的三元运算符
- 12. C中的三元运算符#
- 13. 使用C#三元运算符
- 14. C++,三元运算符,性病::法院
- 15. C中三元运算符的逻辑?
- 16. 三元运算符和函数签名
- 17. 输出:关系和三元运算符?
- 18. 轨道三元运算符和'这'
- 19. 道具和三元运算符
- 20. RedirectToAction()与View()和三元运算符?
- 21. 三元运算符用法?
- 22. &&使用三元运算符
- 23. 执行三元运算符
- 24. 关于三元运算符..!
- 25. 使用三元运算符
- 26. 替代三元运算符
- 27. 三元运算符在foreach
- 28. Ruby三元运算符
- 29. java三元运算符
- 30. 三元运算符用法
'return sum> 0有什么问题? 1:0;'? – 2010-08-25 13:42:45
或者就此而言,if(sum> 0)返回1;否则返回0;' – 2010-08-25 13:46:09
感谢所有的答复。返回和> 0没有问题? 1:0;我只是想知道为什么我们不能以上述方式在问题中使用它。 – nullpointerexception 2010-08-25 13:46:55