首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

为什么这样,超级不明白,该如何处理

2012-02-22 
为什么这样,超级不明白,intx5,yy--x+--x/2求y的值,我算了--x4,--x/21,y应该是5啊,为什么会4[解决办法

为什么这样,超级不明白,
int   x=5,y;
y=--x+--x/2
求y的值,我算了--x=4,--x/2=1,y   应该是5啊,为什么会4

[解决办法]

解释如下:
先讲点汇编原理的东西:对于计算操作,寄存器都是一次取两个数,做计算,然后再去另一个数再跟刚才的结果进行计算。
你的题目的解释:
int x=5,y;
y=--x+--x/2
步骤1:寄存器一次直接取两个数(--x),(--x/2),这个表达式同时进行操作在相加,也就是x进行了两次的自减后--x=3,(--x)/2=1---> 所以y=--x+--x/2=3+1=4

热点排行