i=i++ 到底发生了什么? Posted on 2019-02-22 | Edited on 2019-07-22 | Comments: | Views: 在java和C++中都支持++操作,那么当执行i=i++时到底发生了什么呢? 1234int i = 0;for(int j = 0; j < 3; j++){ i = i++;} 这段代码执行之后,i的值为多少? 以c++为例,在不同版本的编译器下获得的结果是不一样的!因为在标准中,指明了,i=i++这种行为的结果是未定义的。 在gcc 4.8下: i的值应该为0 在gcc 4.6 以及vs2010下: i的值应该为3