#define f(a,b,x) a*x+b #include<stdio.h> void main() printf("%d,%d尀n", f(3,2,1),f(6,5,f(3,2,1)))

2025-03-03 05:54:08
推荐回答(2个)
回答1:

完整程序是:
#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))

回答2:

输出:5,25
思路:f(3,2,1)=3*1+2=5
f(6,5,f(3,2,1))=6*3*1+2+5=25