为了账号安全,请及时绑定邮箱和手机立即绑定

大神帮我解答下

sum=sum+i;

i++;和

i++;

sum=sum+i;

运行结果为什么不一样


正在回答

2 回答

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

1 回复 有任何疑惑可以回复我~
#1

慕粉3922146 提问者

谢谢~
2016-09-13 回复 有任何疑惑可以回复我~
#2

imooc_粉丝 回复 慕粉3922146 提问者

记得采纳哦!!
2016-09-13 回复 有任何疑惑可以回复我~
#3

慕粉3922146 提问者

非常感谢!
2016-09-16 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~
#1

慕粉4061758

第一个sum值比第二个大100,用101代替了1.
2016-09-29 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926210    人
  • 解答问题       20797    个

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

进入课程

大神帮我解答下

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信