c语言,sum=0,for(i=1;i<=5;++i),sum=sum+i。按理说先加再输出, 50
c语言,sum=0,for(i=1;i<=5;++i),sum=sum+i。按理说先加再输出,那结果应该是14啊,可是答案是15谁能告诉我我的想法错在了哪里...
c语言,sum=0,for(i=1;i<=5;++i),sum=sum+i。按理说先加再输出,那结果应该是14啊,可是答案是15谁能告诉我我的想法错在了哪里
展开
2个回答
展开全部
for(i=1;i<=5;i++)
sum=sum+i; 详解:
---------------------------
这里分为四个部分:
第一个部分:i=1;
第二个部分:i<=5;
第三个部分:i++
第四个部分:sum=sum+i;
------------------------
1.首先for语句是保证下面的一个语句运行的,那就是sum=sum+i了。
2.整个这四部分是有一个执行的顺序的:1243243的执行顺序
先执行第一个部分、第二个部分
然后执行第四个部分,注意这里是第四个部分不是第三个部分
最后才执行第三个部分。
3.在整个for(i=1;i<=4;i++)的这个循环语句中,其中i=1;也就是第一部只是在程序开始的时候执行一次,后面的每次循环都不会再执行。
当第三部分最后执行完了以后就会继续执行第二部,判断是否成立,成立即执行,不成立即终止。
1243243243243243
------------------------------------------------------------
例如:
当i=1时即:
i=1;且i<5成立;则sum=0+1=1;然后将i的值+1,这个时候i的值就成为了2
当i=2时即:
i=2;且2<5成立;则sum=1+2=3;然后将i的值+1,这个时候i的值就成为了3
当i=3时即:
i=3;且3<5成立;则sum=3+3=6;然后将i的值+1,这个时候i的值就成为了4
当i=4时即:
i=4;且4<5成立;则sum=6+4=10;然后将i的值+1,这个时候i的值就成为了5
当i=5时即:
i=5;且5<=5成立;则sum=10+5=15;然后将i的值+1,这个时候i的值就成为了6
当i=6时即:
i=6;且6<=5不成立;则结束循环,执行最下面的printf语句。
-------------------------------------------------------
最后的结果就是sum=15
sum=sum+i; 详解:
---------------------------
这里分为四个部分:
第一个部分:i=1;
第二个部分:i<=5;
第三个部分:i++
第四个部分:sum=sum+i;
------------------------
1.首先for语句是保证下面的一个语句运行的,那就是sum=sum+i了。
2.整个这四部分是有一个执行的顺序的:1243243的执行顺序
先执行第一个部分、第二个部分
然后执行第四个部分,注意这里是第四个部分不是第三个部分
最后才执行第三个部分。
3.在整个for(i=1;i<=4;i++)的这个循环语句中,其中i=1;也就是第一部只是在程序开始的时候执行一次,后面的每次循环都不会再执行。
当第三部分最后执行完了以后就会继续执行第二部,判断是否成立,成立即执行,不成立即终止。
1243243243243243
------------------------------------------------------------
例如:
当i=1时即:
i=1;且i<5成立;则sum=0+1=1;然后将i的值+1,这个时候i的值就成为了2
当i=2时即:
i=2;且2<5成立;则sum=1+2=3;然后将i的值+1,这个时候i的值就成为了3
当i=3时即:
i=3;且3<5成立;则sum=3+3=6;然后将i的值+1,这个时候i的值就成为了4
当i=4时即:
i=4;且4<5成立;则sum=6+4=10;然后将i的值+1,这个时候i的值就成为了5
当i=5时即:
i=5;且5<=5成立;则sum=10+5=15;然后将i的值+1,这个时候i的值就成为了6
当i=6时即:
i=6;且6<=5不成立;则结束循环,执行最下面的printf语句。
-------------------------------------------------------
最后的结果就是sum=15
追问
我的亲哥,我的题目是++i,不是i++啊,如果按照那个思路++i的结果就是14了啊,这就是我不懂的地方
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询