c语言宏定义函数如何调用(里面含参数可以当函数用吗)

2020-09-11 社会 161阅读

宏定义,不能当函数使(函数中的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;
}
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com