请二级VC 大侠 赐教

来源:百度知道 编辑:UC知道 时间:2024/07/04 22:58:48
#define f(x) x*x
main()
{ int a=6 , b=2 , c ;
c=f(a)/f(b);
printf("%d\n" , c) }

我自己算的是 9
但在VC 上运行却得到是 36
想问一下是谁对了?
谢谢!!!!

#define f(x) x*x 只是直接代入c中
c=a*a/b*b=6*6/2*2=36/2*2=18*2=36

36
f(a)/f(b) 实际是a*a/b*b 按顺序算就是36了
注意 f(x)x*x 外面没有括号,不能理解为36/4

把第一句改为#define f(x) (x*x)就可以得到你的结果9了!

把代码展开就明白了
6*6/2*2等于多少?