问答详情
源自:2-13 编程练习

到底后面的++计算的时候自加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




提问者:慕运维0036432 2018-06-26 01:24

个回答

  • qq_葡萄鲜紫_0
    2018-06-26 09:23:32
    已采纳

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

  • 狂奔的卧牛
    2018-07-24 21:54:45

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

  • 忆寒QI
    2018-07-06 14:45:32

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