| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 681 人关注过本帖
标题:小菜鸟,零基础,问大家一个很简单的问题
只看楼主 加入收藏
心海天蓝
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-3-25
结帖率:0
收藏
已结贴  问题点数:20 回复次数:6 
小菜鸟,零基础,问大家一个很简单的问题
我做了一道单选题,是这样的x的初始值是2, x++,2*x.  我认为x的值是4,可是答案是6,求解求解!!各位大神求解啊

[ 本帖最后由 心海天蓝 于 2013-3-25 08:55 编辑 ]
搜索更多相关主题的帖子: 单选题 
2013-03-25 08:53
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:3 
x的基值是多少呢

DO IT YOURSELF !
2013-03-25 08:55
Pirelo
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:118
专家分:550
注 册:2011-1-28
收藏
得分:3 
按照你的描述,我觉得2*x的值才是6
2013-03-25 10:21
qunxingw
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:24
帖 子:1676
专家分:7295
注 册:2011-6-30
收藏
得分:3 
学会调试,

www.qunxingw.wang
2013-03-25 10:33
ap0805319
Rank: 2
等 级:论坛游民
帖 子:23
专家分:23
注 册:2012-2-17
收藏
得分:3 
x++之后x的值:x=3;
2*x之后x的值:x=3;
2*x的积:2*3=6;
2013-03-25 10:51
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:3 
程序代码:
#include<stdio.h>

int main()
{
    int x = 2;
    int b = (x++, 2 * x);
    return 0;
}


这是VC对int b = (x++, 2 * x)的反汇编代码

程序代码:
6:        int b = (x++, 2 * x);

0040102F   mov         eax,dword ptr [ebp-4]    //取数据 2 ,存入 eax
00401032   add         eax,1                    //eax 中的数 即 x加 1,eax值变为 3
00401035   mov         dword ptr [ebp-4],eax    //放回。此时 x值已经变成 3了
00401038   mov         ecx,dword ptr [ebp-4]    //再取数据 3,
0040103B   shl         ecx,1                    //左移 1位,就是乘以 2的意思,结果为 6
0040103D   mov         dword ptr [ebp-8],ecx    //把 6存入 b对应的地址


[fly]存在即是合理[/fly]
2013-03-25 11:00
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9031
专家分:54061
注 册:2011-1-18
收藏
得分:3 
序列点是一个时间点(在整个表达式全部计算完毕之后或在 ||、 &&、 ? : 或逗号 运算符处, 或在函数调用之前)

也就是说,对于 x++,2*x,在进行2*x之前,++的副作用必须已经完成。
2013-03-25 12:49
快速回复:小菜鸟,零基础,问大家一个很简单的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.041904 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved