第一种形式:
- #ifdef 标识符
- 程序段1
- #else
- 程序段2
- #endif
解释:如果标识符被#define语句定义过,则编译程序段1 否则编译程序段2
#incelud<stdio.h>
#define NUM OK
int main(){
#ifdef NUM
printf("hello world");
#else
printf("hello china");
#endif
return o;
}
因为已经定义了宏 NUM 为OK,所以只打印第一句 “helloworld”
第二种形式:
- #ifndef 标识符
- 程序段1
- #else
- 程序段2
- #endif
解释:如果标识符未被#define语句定义过,则编译程序段1 否则编译程序段2(与第一种形式相反)
第三种形式:
- #if常量表达式
- 程序段1
- #else
- 程序段2
- #endif