新手求助,纠结中,这到底是怎么算的呢,为啥啊,答案怎么是6.5
c语言吧
全部回复
仅看楼主
level 4
cf460825196 楼主
nclude<stdio.h>
#define m 2.5
#define f(x) m*x*x
main()
{
int a=1,b=2;
printf("%4.1f",f(a+b));
}
2012年06月05日 14点06分 1
level 1
f(a+b)=2.5*1+2*1+2
2012年06月05日 15点06分 2
level 4
cf460825196 楼主
这是why
2012年06月05日 15点06分 3
level 10
定义宏是不加括号,常见的错误,达不到预期的目的。
===========
宏只是简单的文本代换,切记
2012年06月05日 15点06分 4
level 4
+1
2012年06月05日 18点06分 5
level 3
回复2楼:为什么会是这样?没懂
2012年06月06日 01点06分 6
level 8
2楼4楼正解
2012年06月06日 01点06分 7
level 4
cf460825196 楼主
有点明白了
2012年06月06日 10点06分 8
level 6
为什么九楼说是把a的值传给x,不是将a+b代替x吗?
2012年06月06日 12点06分 10
level 10
是代替
2012年06月06日 12点06分 11
level 2
你再用m*(x)*(x)试试就知道区别了
2012年06月06日 13点06分 12
level 10
[打酱油]
2012年06月12日 16点06分 13
1