为什么括号需要在c中的条件运算符的第二部分中赋值

时间:2015-06-24 20:15:23

标签: c

以下代码

i>0?j=9:i=7;

发出错误:

  

左值作为赋值的左操作数

你能解释一下我收到这个错误的原因吗? 何时,i>0?j=9:(i=7);正常工作

1 个答案:

答案 0 :(得分:0)

Imho:基本上你的问题是,C语言运算符的优先级高于" =" (在c ++中,先验是相同的,所以它按预期工作),这就是你需要括号的原因。