首页
社区
课程
招聘
[求助]一个有关++的问题
发表于: 2010-6-17 21:23 4077

[求助]一个有关++的问题

2010-6-17 21:23
4077
int z = 0,x = 5;
printf("%d\n", (++x)+(++x)+(++x));
请问。。。
输出是
多少?

编译器是怎么想的?

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (11)
雪    币: 170
活跃值: (90)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
2
x=1
y=++x  则 y=2  x=2
y=x++  则 y=1  x=2

编译器优化不同 应该结果不同
2010-6-17 22:25
0
雪    币: 227
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
还真把人脑当电脑使
2010-6-17 22:29
0
雪    币: 170
活跃值: (90)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
4
按运算法则的计算的是:6+7+8
而vc++编译出来的却是 7+7+8
2010-6-17 22:35
0
雪    币: 170
活跃值: (90)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
5
感觉没意义啊 这种写法只可能出现在教科书中  都是老师无聊出的题目
2010-6-17 22:36
0
雪    币: 48
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
VS2008的结果是24
DEV-C是22
VC6是22
2010-6-17 22:49
0
雪    币: 48
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
我是想知道编译器是怎么想的
2010-6-17 22:51
0
雪    币: 52
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
编译器是一个诡异哥~~~
2010-6-17 23:12
0
雪    币: 63
活跃值: (17)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
9
C/C++标准未定义的行为
没有讨论的必要
2010-6-18 10:51
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
同上.这个是标准没有定义的东西.不需要费力气.
2010-6-27 04:27
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
另外补充一下: printf("%d\n", (++x)+(++x)+(++x));
C/C++ 标准只规定了.执行完上面一句后.X 会是X+3.
2010-6-27 04:29
0
雪    币: 320
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
这要看是编译器的吧
2010-6-28 23:02
0
游客
登录 | 注册 方可回帖
返回
//