简单的自定义调试函数【C语言】

简单的自定义调试函数【C语言】_第1张图片

使用自定义调试函数debug,控制输出不输出调试信息。

下面的程序中,如果要不输出调试信息,则注释掉#define DEBUG,否则不注释它。

#include

#define DEBUG

#ifdef DEBUG

 #includevoid debug(const char *fmt, ...)

 {

         va_list ap;

          va_start(ap, fmt);

          vprintf(fmt, ap);

          va_end(ap);

 }

 #else

  void debug(const char *fmt, ...)

  {

  }

#endif

int fact(int n)

{

    int i, f = 1;

    for( i=1; i<=n; i++)

    {

        f *= i;

        debug("i=%d ; f=%d\n", i, f);

    }

    return f;

}

int main()

{

    printf( "4!=%d\n", fact(4) );

    return 0;

}

这个程序,要输出调试信息时,运行结果如下:

i=1 ; f=1

i=2 ; f=2

i=3 ; f=6

i=4 ; f=24

4!=24

其中前面四行都是调试信息。

如果不输出调试信息,运行结果如下:

4!=24

有的人使用__DEBUG__来代替DEBUG,也是一样的。

用__DEBUG__更安全一些(免得其它不小心用了DEBUG),但用DEBUG方便一些。

你可能感兴趣的:(简单的自定义调试函数【C语言】)