c++中i+++j怎么解释???
展开全部
这个有歧义的吧,i+++j可以看做是(i++)+j,也可以是i+(++j)一般也不会这样写的,没必要嘛
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你们都错了=
i+j;
i++;
i+j;
i++;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-10-24
展开全部
原式等价于:
(i++)+j
(i++)+j
追问
怎么解释???与优先级有关吗??
追答
C/C++编译器在遇到符号时,总是一直将相邻的下一个操作符纳入当前解释的表达式中,除非新加入的操作符会使原本成立的表达式变成非法结果(贪婪性),例如这一例中,在读取i之后会读取第一个加号,此时一个加号是合法的,所以会继续读取下一个加号,之后判断发现两个加号也是合法的,所以继续读取第三个加号,此时发现三个加号的操作符是不合法的,不存在这样的操作符,于是不读取第三个加号,将i与前两个加号结合生成了i++的运算,第三个加号和后面的j则参与普通的加法运算。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询