i+++++j为什么错
3个回答
展开全部
根据操作符编译时的“贪心法”规则,i+++++j被编译器解释为((i++)++)+j。这样的话,根据++右结合性质,第二个++试图给一个表达式(i++)做增1运算,所以是非法的,因为表达式不能做左值。想让编译器解释为i++加++j的话,可以写i++ + ++j(把中间的单个+两边用空格隔开)或干脆写成(i++)+(++j)即可。顺便说一句,写成i+++(++j)或i+++ ++j也是合法的,因为没有+++这个操作符,所以只好被解释为(i++)+了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询