日期:2014-05-20  浏览次数:20746 次

如何理解这个
如何理解这个表达式
(a++)+(++b) +a*b
例如a=1 b=2

这个表达式的输出是?

------解决方案--------------------
楼上正解。++在后先赋值后+,++在前先+后赋值
------解决方案--------------------
a++ 先参与计算,后+1; 所以可以理解为 (a++)=1; a=2;
++b 先加1,再参与计算; 所以可以理解为 (++b)=3; b=3;
上面的表达式可以写成:
(1)+(3)+2*3=10.
------解决方案--------------------
遇到++x时 x先加一 再执行
遇到x++时 x的值不变,执行完当前操作后,x的值再加
所有a++先不变是1,++b成了3
后面a上个a++执行了变成了2然后跟3相乘得到结果10
------解决方案--------------------
lz 你要记住a*b 这句的a也要自加。前面的a++ 这里a不变,依然是1。往后的运行,别忘了a要加上一加。
 
所以结果为: 1 + 3 + 2*3 = 10