#define f(x) x*x main() {int a=6,b=2,c; c=f(a)/f(b); printf(“%d\n”,c); }
为啥这个结果是36呢 c这个式子是啥意思
这是一个宏分解的问题c=f(a)/f(b)相当于c=a * a/b * b = 6 * 6/2 * 2 = 36/2 * 2 = 18 * 2 = 36
#define f(x) x*x 表示定义宏f(x) c语言在编译时会将f(x)替换为x*x 所以c=6*6/2*2=36