1. #if,#else,#elif,#endif
#if的一般形式是:
#if constant-expression
Statement sequence
#endif
如果#if后的常数表达式为真,则#if和#endif中间的代码被编译,负责忽略该段代码。#endif标记#if的结束。#else既是标记#if的结束,也是标记#else块的开始。因为每一个#if只能写一个#endif匹配。
2. #ifdef和#ifndef
第一种形式:
#ifdef 标识符
程序段1
#else
程序段2
#endif
如果标识符被定义则对程序段1进行编译,否则对程序段2进行编译。
第二种形式:
#ifndef 标识符
程序段1
#else
程序段2
#endif
如果标识符不被定义则对程序段1进行编译,否则对程序段2进行编译。
第三种形式:
#if 常量表达式
程序段1
#else
程序段2
#endif
如果常量表达式为真则对程序段1进行编译,否则对程序段2进行编译。