大神帮我解答下

来源:4-6 循环结构之while循环

慕粉3922146

2016-09-08 11:13

sum=sum+i;

i++;和

i++;

sum=sum+i;

运行结果为什么不一样


写回答 关注

2回答

  • imooc_粉丝
    2016-09-09 17:35:35
    已采纳

    第一个先计算sum+i的值然后赋值给sum,之后i的值自动增1,所以第一次循环之后sum=0+1,sm=1,然后i的值增1变为2执行第二次循环,sm=1+2,sm=3,这样依次类推下去执行循环,这样就可以实现1到100之内所有整数相加运算,而第二种情况,是先给i的值自增1之后,执行下边的运算,由于i的初始值为1,自增1之后就变为了2,然后执行下边的sum=0+2,sum=2,然后第二次循环i的值自增为3,依次类推,无法实现1到100之内所有的整数相加运算,因为缺了1,所以运算结果是错误的,这是逻辑错误,如果帮到楼主的话请采纳,谢谢!!

    慕粉3922...

    非常感谢!

    2016-09-16 11:06:44

    共 3 条回复 >

  • a雅
    2016-09-08 11:35:17

    第一个是sum先加i,i再自增1;第二个是i先自增1,sum再加上自增后的i,所以第一个sum值要比第二个大1

    慕粉4061...

    第一个sum值比第二个大100,用101代替了1.

    2016-09-29 22:12:17

    共 1 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926207 学习 · 20797 问题

查看课程

相似问题