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

来源:学生作业帮助网 编辑:六六作业网 时间:2024/05/05 05:27:41
以下程序的执行后输出结果是#definef(x)x*xmain(){intk;k=f(1+2)/f(2+1);printf("%d\n",k);}为什么是7啊求解释以下程序的执行后输出结果是#defi

以下程序的执行后输出结果是#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