代码中经常看到诸如#ifdef,#ifndef,#if,#if!的语句,这种条件判断起选择程序块执行的重要作用,现通过一个小程序总结如下:
#include <stdio.h>
#define TEST_DEFINBE 1
void fun1()
{
#if !TEST_DEFINBE //该宏没有定义与宏值定义为 0的执行结果是一样的
printf("if !TEST_DEFINE\n\r"); // TEST_DEFINE未define或#define TEST_DEFINBE 0都会执行到这里
#else
printf("else if !TEST_DEFINE\n\r"); // #define TEST_DEFINBE 1会执行到这里
#endif
#ifdef TEST_DEFINBE //宏定义即为真,与定义的值0或是1没有关系
printf("ifdef TEST_DEFINE\n\r"); //#define TEST_DEFINBE 0或 #define TEST_DEFINBE 0都会执行到这里
#else
printf("else ifdef TEST_DEFINE\n\r"); //TEST_DEFINE未define会执行到这里
#endif
}
int main()
{
fun1();
printf("\n\rmain ended!");
return 0;
}