下面的代码
i>0?j=9:i=7;
出现错误:
lvalue required as left operand of assignment
您能解释一下为什么我会收到此错误吗?
当,i>0?j=9:(i=7);
工作正常
最佳答案
恕我直言:基本上你的问题是 C 术语运算符的优先级高于“=”(在 C++ 中优先级相等,因此它按预期工作),这就是你需要括号的原因。
关于c - 为什么c中条件运算符第二部分的赋值需要括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31036124/