#include
#include
#define ADD(x) x+x
main()
{
int m=1,n=2,k=3;
int sum=ADD(m+n)*k;
printf("%d",sum);
}
#define ADD(x) x+x
这不是函数,不是函数,不是函数
这就是直接的字符串替换,你先算x+x的结果再乘肯定错了呀
你替换一下看看变成什么了
int sum=ADD(m+n)*k;
替换后
int sum=x+x*k;
int sum=m+n+m+n*k;
不得先算乘法吗