解决方案 »

  1.   

    i = i ++
    相当于:
    i = i;
    i = i + 1;
      

  2.   

    ,,,i=1     i=i++,,,输出之后i是为0,     换另外个变量自增就清楚多了,   i=j++;         
      

  3.   

    语言这么规定的,c/c++里面i =2, java里面i=1。
      

  4.   

    肯定要写会局部变量表呀,不然原先局部变量表的值是2,然后6:istore_1将操作数栈中的1写回到局部变量表的第一个slot,把原来的2替换掉了。这样才导致最终i的值是1.事实就是这样子,会先store,如果由return的话,在load出来,记住这内部顺序就行,毕竟这是编译器干的事。
      

  5.   


    using namespace std;
    #include <iostream>int main(int argc, char **argv){
    int i =1;
    i=i++;
    cout <<i;
    return 0;
    }
    执行这段输出的结果是2。语言规定。