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

到底后面的++计算的时候自加1还是不自加1,最后得出来的结果都是一样的,自加的1在计算的时候跑到了哪里

如下:

var a,b,sum;
  var  a  = 10;
  var  b  = 9;

  sum = ( (a++) + 3 ) / (20 - (b--) ) * 3; 

结果:

我认为 a 的值是:11 b的值是:8sum 的值是:3.545454545454546

和如下,计算的时候加的1呢,怎么计算的时候没加1呢

 sum = ( (a) + 3 ) / (20 - (b) ) * 3;

结果

我认为 a 的值是:10 b的值是:9sum 的值是:3.545454545454546




正在回答

3 回答

因为a++,b--都是后置运算,所以赋值的时候用的是a和b,赋值后a再加1,b再减1

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

慕运维0036432 提问者

还是没明白,麻烦说的在详细一点,是赋值的时候给a的是10嘛?,那么赋值后你说a在加1是怎么加的,我计算的结果当中没有发现里面有+1啊?结果是直接用a=10算出来的,自加的1呢。
2018-06-26 回复 有任何疑惑可以回复我~
#2

慕运维0036432 提问者

非常感谢!
2018-07-01 回复 有任何疑惑可以回复我~

a++和++a两个有区别的,前者先取值后加一,后者先加1后赋值

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

++a是先自增再执行表达示,执行表达式时使用的是自增后的a,a++是先执行表达式后再自增,执行表达式时使用的是a的原值,下一行代码才会改变,同理b++也是如此。

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

举报

0/150
提交
取消

到底后面的++计算的时候自加1还是不自加1,最后得出来的结果都是一样的,自加的1在计算的时候跑到了哪里

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