日期:2014-05-17  浏览次数:20703 次

很简单的问题,别去敲代码,直接给答案
private int sum=1;
  private int t=1;
  private int s=1;
  sum+=t+++s+++sum;
  知道sum的值嘛?

------解决方案--------------------
6么?
------解决方案--------------------
4,5,6都有可能
------解决方案--------------------
还会是7
------解决方案--------------------
嘿嘿,我承认没运行前我做错了,运行了下,蛮有意思
sum+=t+++s+++sum ==== sum= sum + t++ + s++ +sum 4;

可是为什么sum+=t+ ++s + ++sum是等于6,不是应该先运算++sum,sum等于2,sum=2+1+2+2?

------解决方案--------------------
我也这么想的啊~~~难道不是么?
探讨

嘿嘿,我承认没运行前我做错了,运行了下,蛮有意思
sum+=t+++s+++sum ==== sum= sum + t++ + s++ +sum 4;

可是为什么sum+=t+ ++s + ++sum是等于6,不是应该先运算++sum,sum等于2,sum=2+1+2+2?

------解决方案--------------------
6吧?
------解决方案--------------------
在同一个表达式内对一个变量赋值超过1次注定是个悲剧