c语言中,int i=3,k=(i++)+(i++)+(i++);为什么执行结果是后k=9,i=6?求解。

 我来答
reggie313131
2012-10-14 · 超过26用户采纳过TA的回答
知道答主
回答量:73
采纳率:100%
帮助的人:35.4万
展开全部
这里涉及到运算顺序的问题。i++指先使用i的值,再将i加一。所以,k先等于三个i相加,结果是k=9。
i的值使用完毕后,再从第一个i++开始,对i加一,此时i=4;对第二个i++使i加一,此时i=5;最后对第三个i++使i加一,此时i=6。
丁家宜大宝
2012-10-14 · TA获得超过230个赞
知道答主
回答量:108
采纳率:0%
帮助的人:81万
展开全部
这个是因为(i++)不就是以i的值来算吗?加法是从左至右每两个和在一起计算,i++是算完后再加的吧
楼主还要注意这个问题
i=5; (++i)+(++i)+(++i)=22; 因为是从左至右计算,++i是要先算的,因此前两个(++i)统一算为7+7=14;再算最后一个14+8=22;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式