#define f(x) x*x # x*(x) #
发布网友
发布时间:2024-10-24 11:23
我来回答
共1个回答
热心网友
时间:2024-11-09 07:55
#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;