如何理解这个表达式
(a++)+(++b) +a*b
例如a=1 b=2这个表达式的输出是?

解决方案 »

  1.   

    (a++)+(++b) +a*b
      1     3    2 3=10
    貌似
      

  2.   

    a++  先参与计算,后+1; 所以可以理解为 (a++)=1; a=2;
    ++b 先加1,再参与计算; 所以可以理解为 (++b)=3; b=3;
    上面的表达式可以写成:
    (1)+(3)+2*3=10.
      

  3.   

    遇到++x时  x先加一  再执行
    遇到x++时  x的值不变,执行完当前操作后,x的值再加
    所有a++先不变是1,++b成了3
    后面a上个a++执行了变成了2然后跟3相乘得到结果10
      

  4.   

    lz   你要记住a*b  这句的a也要自加。前面的a++  这里a不变,依然是1。往后的运行,别忘了a要加上一加。
     
    所以结果为: 1 + 3 + 2*3 = 10