选择性地包含不同代码。
#if、#elif、#else 等同于 if、else if、else。
当 #if 后的常量整型表达式的值 != 0,则包含其后的各行。
#endif 是 #if 语句的结束。
defined(名),当名已定义,值为 1;否则值为 0。
#define A 1
#define B 2
#define C 3
// 如果 SYSTEM 已经定义
// #if defined(SYSTEM)
// #ifdef SYSTEM
// 如果 SYSTEM 未定义
// #if !defined(SYSTEM)
// #if defined(SYSTEM) == 0
#ifndef SYSTEM
#define SYSTEM 4
#endif
#if SYSTEM == A
#define NAME "a.h"
#elif SYSTEM == B
#define NAME "b.h"
#elif SYSTEM == C
#define NAME "c.h"
#else
#define NAME <stdio.h>
#endif
#include NAME
int main() {
printf("hh");
}