在编译一个程序的时候可以使用条件编译指令将一组语句编译或放弃。
1#if 常量表达式 //... #endif
测试用例,常量表达式为真(除0外),则编译,为假(0)则不编译
#includeint main() { char arr1[] = "条件为真"; char arr2[] = "条件为假"; #if 1 printf("%sn", arr1); #endif #if 0 printf("%sn", arr2); #endif getchar(); return 0;
常量表达式可由预处理器求值
#define _DEBUG_ 1 #define _NDEBUG_ 0 #if _DEBUG_ //... #endif #if _NDEBUG_ //... #endif2 多个分支的条件编译
#if 常量表达式 //... #elif 常量表达式 //... #else //... #endif3 判断是否被定义
如果
#if defined(symbol) #ifdef symbol //... #endif #if !defined(symbol) #ifndef symbol ///... #endif嵌套指令
#if defined(OS1) #ifdef OPINION1 //... #endif #ifdef OPINION2 //... #endif #elif defined(OS2) #ifdef OPINION3 //... #endif #else //... #endif



