已知 int i = 5; 执行语句 i += ++i; 后 i 的值是

 我来答
62055624
2012-05-27 · TA获得超过3168个赞
知道大有可为答主
回答量:8186
采纳率:0%
帮助的人:4158万
展开全部
首先+=是复合运算符。可以看成 i = i + (++i) 我现在得到的答案是12,这是用C-Free运行得到的结果。 I=I+(I+1)=11 12 参考资料:,QigwTs
AM蘑菇a13
2011-06-21 · TA获得超过1616个赞
知道小有建树答主
回答量:703
采纳率:0%
帮助的人:176万
展开全部
首先+=是复合运算符。
可以看成
i = i + (++i)
我现在得到的答案是12,这是用C-Free运行得到的结果。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
rocky_wl
2011-06-21 · TA获得超过180个赞
知道答主
回答量:199
采纳率:0%
帮助的人:154万
展开全部
按运算符的优先级可以拆成两步:
i+=i; //等价于i=i+i; 所以i=5+5=10;
i=i+1; //i=10+1=11;

结果为11
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-06-21
展开全部
i+=++i
1。先算++,即i值变为6。
2。再算i+=这部分,i=i+6=5+6=11.
我刚才用Java运行了下是11
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
书来了
推荐于2018-04-23 · 好书推荐 | 知识分享 | 读书成长
书来了
采纳数:105 获赞数:579

向TA提问 私信TA
展开全部
这类问题不要纠结了,
结果等于什么,要看编译器怎么处理的。
你只要弄明白i++ ++i的区别就可以了。
一般这种的,最好这么写
int i= 5;
++i;
i +=i;
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式