c++中i+++j怎么解释???

 我来答
Anycallmotion
2011-10-24 · TA获得超过125个赞
知道答主
回答量:209
采纳率:0%
帮助的人:99.7万
展开全部
这个有歧义的吧,i+++j可以看做是(i++)+j,也可以是i+(++j)一般也不会这样写的,没必要嘛
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
空迵°冷色调
2011-10-24 · 超过11用户采纳过TA的回答
知道答主
回答量:53
采纳率:0%
帮助的人:35.9万
展开全部
你们都错了=
i+j;
i++;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-10-24
展开全部
原式等价于:

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

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式