__VA_ARGS__ 可变宏参数
#include<stdlib.h>#include<stdio.h>#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;}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。