为什么c中条件运算符第二部分的赋值需要括号
下面的代码为什么c中条件运算符第二部分的赋值需要括号,c,C,下面的代码 i>0?j=9:i=7; 正在给出一个错误: 赋值的左操作数需要左值 你能解释一下为什么我会犯这个错误吗? 当,i>0?j=9时:(i=7)工作正常。Imho:基本上,您的问题是C这个术语运算符的优先级高于“=”(在C++中,优先级是相等的,所以它可以按预期工作),这就是您需要括号的原因。那么为什么j周围不需要括号呢?
i>0?j=9:i=7;
正在给出一个错误:
赋值的左操作数需要左值
你能解释一下为什么我会犯这个错误吗?
当,
i>0?j=9时:(i=7)
工作正常。Imho:基本上,您的问题是C这个术语运算符的优先级高于“=”(在C++中,优先级是相等的,所以它可以按预期工作),这就是您需要括号的原因。那么为什么j周围不需要括号呢?