好奇怪的问题
#define MA(x) x*(x-1) main() {int a=1,b=2; printf("%d",MA(1+a+b));}
结果为什么是8
#define MA(x) x*(x-1) main() {int a=1,b=2; printf("%d",MA(1+a+b));}
结果为什么是8
2004-09-17 19:13
快来人啊~
2004-09-17 19:34
快来人啊~
2004-09-17 20:11
2004-09-17 23:52
2004-09-18 10:03
这是个宏的展开问题,给你介绍本好书《全国计算机等级考试典型考题解析和实战》 钱贵平 李虎军著
这本书上有很多之中细节问题解释的。
我有个例子
#define sum(x) x*x
sum(i+j)/sum(i+j)
展开是这样 i+j*i+j/i+j*i+j 一般都直接认为就等于1 其实不是



2004-09-18 10:08
2004-09-18 10:21
2004-09-18 10:30
是这样吗?
我没见过阿?
为什么会是这样的情况阿?
可不可以说一下他的原理?
2004-09-18 11:25
2004-09-18 12:33