j = 0;j = j++;问最后j的值?
java吧
全部回复
仅看楼主
level 6
罚抄终末旅行🌙
楼主
C++和JAVA有一样的结果0,求问执行顺序
2018年09月07日 14点09分
1
level 10
埃尼1314♤
正无穷大
2018年09月07日 14点09分
2
level 12
几米ლ
最近纠结运算符的和问gui的越来越多了好像
2018年09月07日 15点09分
3
罚抄终末旅行🌙
一本蛇精病的书上的题,醉了
2018年09月07日 16点09分
level 6
罚抄终末旅行🌙
楼主
经过汇编的结果:
0放进e
bp
-4
然后丢进eax
自增eax然后放进edx(这里是1)
edx放回栈(现在j是1)
eax放回栈(j又变成0了)
所以这个++是执行了的,但是被赋值顶掉了
2018年09月07日 16点09分
5
罚抄终末旅行🌙
不对这里是JAVA吧
2018年09月07日 16点09分
level 1
GTA小鸡
在C++中这是一个典型的未定义行为,研究其结果无意义。
在JAVA中,最终执行的是j=(j自增前的拷贝值0),所以j为0。
2018年09月07日 17点09分
6
1