搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ ☆★一个头疼的问题,新手的...
标题:
☆★一个头疼的问题,新手的...
只看楼主
bianchengfeng
等 级:
新手上路
帖 子:79
专家分:0
注 册:2008-3-1
楼主
问题点数:0 回复次数:16
☆★一个头疼的问题,新手的...
[font=Fixedsys]
#include
<
stdio
.
h
>
#define
cube
(
n
)
n
*
n
*
n
void
main
()
{
int
n
=
3
;
printf
(
"%d"
,
cube
(++
n
));
}
[color=SeaGreen][color=Lime]看看这个简单的宏定义中n的变化情况
结果很让人纳闷
[/color]
搜索更多相关主题的帖子:
头疼
color
2008-06-03 19:19
Loli
来 自:飞燕算法群46520219
等 级:
新手上路
帖 子:348
专家分:0
注 册:2008-5-27
第
2
楼
得分:0
我更头痛,已经被这种题烦死了
" border="0" />[color=white]
2008-06-03 19:21
bianchengfeng
等 级:
新手上路
帖 子:79
专家分:0
注 册:2008-3-1
第
3
楼
得分:0
运行结果居然是150
我怎么也想不通....
2008-06-03 19:24
bianchengfeng
等 级:
新手上路
帖 子:79
专家分:0
注 册:2008-3-1
第
4
楼
得分:0
谁能帮帮忙啊??
2008-06-03 19:40
yongyong122300
该用户已被删除
第
5
楼
得分:0
提示:
作者被禁止或删除 内容自动屏蔽
2008-06-03 19:48
wltysy
等 级:
新手上路
帖 子:560
专家分:0
注 册:2008-5-2
第
6
楼
得分:0
在哪上编译运行的?我的c-free坏了,在TC上是120!我认为是4*5*6,不知道对不?大虾指正下!
2008-06-03 19:49
bianchengfeng
等 级:
新手上路
帖 子:79
专家分:0
注 册:2008-3-1
第
7
楼
得分:0
我自己想应该是120
可是在vc上竟然是150,郁闷死了啊
居然怎么也想不通
2008-06-03 20:02
Kid_X
等 级:
黑侠
帖 子:216
专家分:515
注 册:2007-10-8
第
8
楼
得分:0
VC的结果是150,通过反汇编观察它的计算是5*5*6=150
对于(++x)*(++x)*(++x)的编译,通过几次的反汇编,发现VC的处理过程是:
首先第一个乘号,他要把两个乘数都算出来,所以先是两次++运算,算出x=5,然后x*x=25,然后再做第二个运算,又先是一个++运算,x=6
所以最后是25*6=150
以上是我通过几次观察自己总结的,可能有不对的地方,仅供参考
2008-06-03 20:40
bianchengfeng
等 级:
新手上路
帖 子:79
专家分:0
注 册:2008-3-1
第
9
楼
得分:0
有道理.....
2008-06-03 21:26
奔跑的鸟
等 级:
新手上路
帖 子:391
专家分:0
注 册:2006-1-20
第
10
楼
得分:0
顶8楼
简单的快乐着~
2008-06-03 21:47
17
1/2页
1
2
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-217451-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.255913 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved