宏定义,不能当函数使(函数中的return是返回到调用点,而宏中的return却是从调用点跑开了)
你的代码,在编译时会进行宏替换,真正的代码变成了如下:
#include
//#define a(b,c){int d=0;d=b+c;return d;printf("%d",d);}
int main()
{
int e=0,f=0;
scanf("%d%d",&e,&f);
//a(e,f);
{int d=0;d=e+f;return d;printf("%d",d);} //本身这句也有问题,return后跟的printf()永远不会执行!
return 0;
}