首页 > 代码库 > C语言中的调试宏

C语言中的调试宏

#ifdef DEBUG
#define debug_printf(fmt, ...) printf(fmt, ##__VA_ARGS__)
#else
#define debug_printf(fmt, ...) 
#endif

其中##在没有参数的时候去掉前面的","号,否则在没有参数的时候,编译会报错。

#include <stdio.h>

#ifdef DEBUG
#define debug_printf(fmt, ...) printf(fmt, ##__VA_ARGS__)
#else
#define debug_printf(fmt, ...) 
#endif

int main(int argc, char *argv[])
{
	char* arr = "liuwei";
	int a = 3;
	debug_printf("hello, %d, %s\n", a, arr);
}


C语言中的调试宏