以下程序的执行后输出结果是#define f(x) x*xmain(){ int k; k=f(1+2)/f(2+1); printf("%d\n",k);}为什么是7啊 求解释

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/30 10:01:00
以下程序的执行后输出结果是#define f(x)  x*xmain(){   int k;    k=f(1+2)/f(2+1);    printf(

以下程序的执行后输出结果是#define f(x) x*xmain(){ int k; k=f(1+2)/f(2+1); printf("%d\n",k);}为什么是7啊 求解释
以下程序的执行后输出结果是
#define f(x) x*x
main()
{ int k;
k=f(1+2)/f(2+1);
printf("%d\n",k);
}
为什么是7啊 求解释

以下程序的执行后输出结果是#define f(x) x*xmain(){ int k; k=f(1+2)/f(2+1); printf("%d\n",k);}为什么是7啊 求解释
C语言中的宏在替换时,是直接用实际参数代替形式参数,不能人为加括号.所以f(1+2)/f(2+1);
是1+2*1+2/2+1*2+1=1+2+1+2+1=7