请问如下两种写法有什么差异呢
#define printf1(...) printf(VA_ARGS)
#define printf2(format, ...) printf(format, ##VA_ARGS)
可以看看这个可变参数的描述。
Variadic Macros (The C Preprocessor) Variadic Macros (The C Preprocessor) https://gcc.gnu.org/onlinedocs/cpp/Variadic-Macros.html#Variadic-Macros
最基本的区别就是上面一个可以不写任何参数,下面那个至少要输入一个参数。