【发布时间】:2015-08-15 23:41:22
【问题描述】:
int var = (1 == 1) ? (5) : (10);
这会输出5,这是正确的。
int var = 100 + (1 == 1) ? (5) : (10);
这再次输出5。为什么?
我知道我可以通过在整个三元语句周围添加大括号来解决问题,但这并不能解释添加会发生什么以及为什么它首先表现得像这样。
【问题讨论】:
-
Operator precedence table 的可能重复项
-
这里有点复杂。如果不是涉及的条件,情况就不一样了。编辑:什么。
标签: c variables output addition ternary