求以下程序段的输出结果,麻烦详解。 int i=0,sum=1; do{sum+=i++;}while(i<5); printf("%d\n",sum);

 我来答
唐四海RK
2023-01-16 · TA获得超过1498个赞
知道小有建树答主
回答量:269
采纳率:0%
帮助的人:192万
展开全部
sum+=i++等价于sum=sum+i,i=i+1。
(i++和++i的区别就要注意一哈了,i++是先参加前面的求和运算及sum=sum+i,然后在自己+1;而++i,是先给自己+1后再参加运算)
这里有个do—while循环
这种循环是先执行再判断条件。那么
在i=0 ,sum=1后
do{sum+=i++;}while(i<5);的整个执行顺序就如下:
第一次循环:先执行sum=sum+i,再执行i++(即i=i+1),这时sum为1,i为1,然后执行条件判断while(i<5),为真;那么就接着循环
第二次循环:再先执行sum=sum+i,再执行i++(即i=i+1),这时sum为2,i为2,然后执行条件判断while(i<5),为真;那么就接着循环
第三次循环:再先执行sum=sum+i,再执行i++(即i=i+1),这时sum为4,i为3,然后执行条件判断while(i<5),为真;那么就接着循环
第四次循环:再先执行sum=sum+i,再执行i++(即i=i+1),这时sum为7,i为4,然后执行条件判断while(i<5),为真;那么就接着循环
第五次循环:再先执行sum=sum+i,再执行i++(即i=i+1),这时sum为11,i为5,然后执行条件判断while(i<5),为假(因为现在i为5,i<5不成立),则结束循环。
这时sum的值为11
最后输出结果就是:11
鬼呀呀呀呀呀
2009-08-15
知道答主
回答量:10
采纳率:0%
帮助的人:0
展开全部
11

首先赋值,然后是一个条件循环。比较条件是i和5的大小。当i大于等于5的时候循环结束。执行语句是一个赋值语句。可以理解成sum=sum+(i++)。
i++的含义是下次调用加一。所以
第一次循环i=0,sum=1,然后比较,符合条件,执行,结果为sum=1,i=0(注意此时i仍为0,当下次调用的时候其值才变为1)
第二次循环i=1,sum=1,执行结果sum=2,i=1
第三次循环i=2,sum=2,执行结果sum=4,i=2
第四次循环i=3,sum=4,执行结果sum=7,i=3
第五次循环i=4,sum=7,执行结果sum=11,i=4
第六次循环的时候,i=5,条件语句不符合,跳出循环,执行下一句。
输出sum值。结果是11。
这道题关键是理解i++和++i的区别,前者是先用再加,后者是先加再用。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
仉杨氏勇碧
2019-01-14 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.4万
采纳率:33%
帮助的人:778万
展开全部
sum+=i++等价于sum=sum+i,i=i+1。
(i++和++i的区别就要注意一哈了,i++是先参加前面的求和运算及sum=sum+i,然后在自己+1;而++i,是先给自己+1后再参加运算)
这里有个do—while循环
这种循环是先执行在判断条件。那么
在i=0
,sum=1后
do{sum+=i++;}while(i<5);的整个执行顺序就如下:
第一次循环:先执行sum=sum+i,再执行i++(即i=i+1),这时sum为1,i为1,然后执行条件判断while(i<5),为真;那么就接着循环
第二次循环:再先执行sum=sum+i,再执行i++(即i=i+1),这时sum为2,i为2,然后执行条件判断while(i<5),为真;那么就接着循环
第三次循环:再先执行sum=sum+i,再执行i++(即i=i+1),这时sum为4,i为3,然后执行条件判断while(i<5),为真;那么就接着循环
第四次循环:再先执行sum=sum+i,再执行i++(即i=i+1),这时sum为7,i为4,然后执行条件判断while(i<5),为真;那么就接着循环
第五次循环:再先执行sum=sum+i,再执行i++(即i=i+1),这时sum为11,i为5,然后执行条件判断while(i<5),为假(因为现在i为5,i<5不成立),则结束循环。
这时sum的值为11
最后输出结果就是:11
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式