输出怎么是28的?#define f(x) x*xmain(){int iif(4+4)/f(2+2)printf(%d,i)}输出怎么是28的?[解决办
输出怎么是28的?
#define f(x) x*x
main()
{int i;
i=f(4+4)/f(2+2);
printf("%d",i);
}
输出怎么是28的?
[解决办法]
i=f(4+4)/f(2+2);
等价于
i=4+4*4+4/2+2*2+2
所以宏定义要加很多的括号: #define f(x) ((x)*(x))
