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

为什么这里用num++和++num都可以?

https://img1.sycdn.imooc.com//5d57e26600019f2c06030273.png

如上图所示

正在回答

2 回答

因为前面的循环条件是num<=10

num++ 和++num都是在这个前提下计算的

从结果来讲是没区别的

虽然过程还是有区别

++num的运算顺序是0+1+2+3+4+5+6+7+8+9+10

num++的运算顺序是0+0+1+2+3+4+5+6+7+8+9+10

这样子应该很直观了

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

慕神2128084

不对吧,++num是先加一再取值,也就是1+2+3.。。。。。。 num++是先取值再加一也就是,0+1+2+3.。。。。。。 虽然结果一样,但是不是解释的有点问题
2019-08-29 回复 有任何疑惑可以回复我~
#2

慕后端2137381 回复 慕神2128084

++num和num++都是从0开始,结果一样。num++(sum=0,num=o;sum=0+0+...) ++num(sum=0,num=1;sum=0+1+...)
2019-10-04 回复 有任何疑惑可以回复我~
#3

JOYNAN

解释错了,应该是进程先后的问题。如果表达式2和表达式3进程同步的话,最后结果会有区别的。
2019-11-01 回复 有任何疑惑可以回复我~


表达式2是在表达式3执行后运行的,无论是a++还是++a都等同于a=a+1,在表达式执行完毕后a的值都自增了1,即表达式2中a的值都是自增了1的。

只有当表达式2是与表达式3同时运行的时候,表达式2中的a的值才有区别。

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

举报

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

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

进入课程

为什么这里用num++和++num都可以?

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