#include<stdio.h>
#define DEBUG
void main()
{
#ifdef DEBUG
printf("HAS_DEBUG\n");
#else
printf("NO_DEBUG\n");
#endif
}
由于在程序中插入了条件编译预处理命令,因此要根据DEBUG是否被定义过来决定编译那一个printf语句。而在程序的第一行已对DEBUG作过宏定义,因此应对第一个printf语句作编译,跳过第二个printf语句,故运行结果是:HUS_DEBUG。
而将ifdef改为ifndef。他的功能是,如果标识符未被#define命令定义,运行结果是:HUS_DEBUG ,否则,运行结果是:NO_DEBUG。