一个宏

先看程序:

#include <stdio.h> #define DEBUG(format, ...) printf(format, __VA_ARGS__) int main(int argc, char *argv[]) { DEBUG("info %d %d/n", 2, 3); return 0; } 

 

如果写成这样:

#include <stdio.h> #define DEBUG(format, ...) printf(format, __VA_ARGS__) int main(int argc, char *argv[]) { DEBUG("info /n"); return 0; } 

 

编译会报错


改为这样就可以了

#include <stdio.h> #define DEBUG(format, ...) printf(format,/ ##__VA_ARGS__) int main(int argc, char *argv[]) { DEBUG("info /n"); return 0; } 

 

你可能感兴趣的:(一个宏)