问答详情
源自:4-6 循环结构之while循环

大神帮我解答下

sum=sum+i;

i++;和

i++;

sum=sum+i;

运行结果为什么不一样


提问者:慕粉3922146 2016-09-08 11:13

个回答

  • 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,所以运算结果是错误的,这是逻辑错误,如果帮到楼主的话请采纳,谢谢!!

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

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