完整程序是:
#include "stdio.h"
#define f(x) x*x
int main()
{
int a=6,b=2,c;
c=f(a)/f(b);
printf("%d\n",c);
return 0;
}
//c=f(a)/f(b); 实际上在预编译时把f(x)直接用x*x替换了,c=a*a/b*b,c=6*6/2*2=36,是不会加括号的,要自己加括号#define f(x) ((x)*(x))
输出:5,25
思路:f(3,2,1)=3*1+2=5
f(6,5,f(3,2,1))=6*3*1+2+5=25