对于下面代码:
int x=4;
x+=x++;
在C#/java与C++中执行出来的结果不一样?请高手帮忙分析一下为什么?

解决方案 »

  1.   

    int x=4;
    x+=x++; ==>x=x+(x++);
    应该是九吧.
      

  2.   

    x += x++; 是很不好的编码方式。不同的编译器有不同的理解方式。把代码分开写,人容易理解,编译器也不会有歧义:
    x++;
    x += x;
      

  3.   

    C++中执行结果是9,为什么在C#/java中得到x却是8呢?
      

  4.   

    那能不能帮忙告知它们分别是如何理解的?thanks!
      

  5.   

    int x=4;
    x+=x++; ==>x=x+(x++); C++
    x+=x++; ==>x=x+x++;.net,java我想是这样的.