关于#define f(x) x*x一道题的理解#define f(x) x*xmain( ){ int i;i=f(4+4)/f(2+2);printf(“%d\n”,i);}

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/26 10:59:52
关于#definef(x)x*x一道题的理解#definef(x)x*xmain(){inti;i=f(4+4)/f(2+2);printf(“%d\n”,i);}关于#definef(x)x*x一道

关于#define f(x) x*x一道题的理解#define f(x) x*xmain( ){ int i;i=f(4+4)/f(2+2);printf(“%d\n”,i);}
关于#define f(x) x*x一道题的理解
#define f(x) x*x
main( )
{ int i;
i=f(4+4)/f(2+2);
printf(“%d\n”,i);
}

关于#define f(x) x*x一道题的理解#define f(x) x*xmain( ){ int i;i=f(4+4)/f(2+2);printf(“%d\n”,i);}
#define f(x) x*x //宏定义 f(x)=x*x
main( )
{ int i;
i=f(4+4)/f(2+2);
printf(“%d\n”,i);
}
i=f(4+4)/f(2+2);按定义的宏定义展开,但是此宏定义展开时不能自行加括号!
所以 i=4+4*4+4/2+2*2+2;
如果还不能理解 就看下面
按数学方法展开 i=(4+4)*(4+4)/(2+2)*(2+2);
按程序展开
此宏定义展开时不能自行加括号
所以把 i=(4+4)*(4+4)/(2+2)*(2+2);
中括号去掉
即为 i=4+4*4+4/2+2*2+2;