#define log(fmt, ...) printf(fmt, ##__VA_ARGS__)
__VA_ARGS__表示其余参数,加##是为了没有多余参数时去掉第一个参数fmt后面的逗号,如:
log(“log ”);
没有加##就会扩展为:printf("log ", );编译会报错
而加了##就会拓展成:printf("log ");编译正常
#define log(fmt, ...) printf(fmt, ##__VA_ARGS__)
__VA_ARGS__表示其余参数,加##是为了没有多余参数时去掉第一个参数fmt后面的逗号,如:
log(“log ”);
没有加##就会扩展为:printf("log ", );编译会报错
而加了##就会拓展成:printf("log ");编译正常