__VA_ARGS__可变宏参数

#include
#include

#define DEBUG(...) printf(__VA_ARGS__)
#define ERROR(fmt,...) printf(fmt,__VA_ARGS__)

int main() {

    int y = 999;

    //宏展开: printf("Y = %d\n", y)
    DEBUG("Y = %d\n", y);

    //宏展开: printf("a = %d,b = %d,c = %d\n",1, 2, 3);
    DEBUG("a = %d,b = %d,c = %d\n", 1, 2, 3);

    //宏展开: printf("Y = %d\n", y)
    ERROR("Y = %d\n", y);
    //宏展开: printf("a = %d,b = %d,c = %d\n",1, 2, 3);
    ERROR("a = %d,b = %d,c = %d\n", 1, 2, 3);

  ERROR("haah");//宏展开: printf("haah", );; 为了去掉逗号,请使用 ## __VA_ARGS__
    system("pause");
    return 0;
}

新闻标题:__VA_ARGS__可变宏参数
路径分享:http://csdahua.cn/article/pjedji.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流