int x = 9;
            int y = (--x) + (--x);
                Console.WriteLine(y);
            Console.WriteLine(x);想不通为什么答案出来  y是15 x是7  哪位大佬能给分析一下[/size][/size]

解决方案 »

  1.   

    第一个(--x)求值返回8,并致使x变成了8。
    第二个(--x)求值返回7,致使x变成了7。8+7当然就是15,而x已经是7了。没有任何问题啊?
      

  2.   

    首先,x = 7没有问题。减了2次。关键是y等于多少。--x表示,先对x做减法,然后再对表达式求值。
    所以第一个(--x)得8,第二个是7。y=15。
      

  3.   

    LOL我看你不是c#新手。好好学习吧。
      

  4.   

    --x+--x 首先运行的是--运算 最后的执行的是 +运算符操作。因为X 自减了俩次 所以变成了7
    为什么Y是 15 因为 你--操作 第一个X 变成了 8 第二个X 变成了 7 所以7+8=15 Y是15 X=7