x=x++的问题

来源:互联网 发布:自媒体广告平台源码 编辑:程序博客网 时间:2024/05/21 09:58

今天看到一个网友的这样一个问题。

int x = 0;
x = x++;
为什么x的值是0不是1呢?

难道x++不改变x的值吗?

-------------------------------------
x=x++;
如果x=5,我们看以下步骤

运算步骤:            寄存器   内存
初始状态:           0     5
读入x                  5   <----- 5
x=x;                   5  ------> 5
x++;(此x为寄存器值)    6          5
运算结束,寄存器清零   0          5

可以看出,此操作没有效果.

-----------------------------
x=++x;
如果x=5,我们看以下步骤

运算步骤:            寄存器   内存
初始状态:           0     5
读入x                  5   <----- 5
x++;(此x为寄存器值)    6          5
x=x;                   6  ------> 6
运算结束,寄存器清零   0          6

 

原创粉丝点击