如果我们使用
if (p1){code1}
else if(p2){code2}
else {code3}
这种分支语句的话,无论是否执行,code1、code2、code3 这三个代码块都会被编译。
当我们使用预处理指令的条件编译时,不执行的代码块就不会被编译:
- #define NUM 500
- int main()
- {
- #if(NUM == 500)
- printf("执行了if分支\n");
- #elif(NUM == 100)
- printf("执行了elseif分支\n");
- #else
- printf("执行了else分支\n");
- #endif
- return 0;
- }
复制代码 注意:
1.有#if 就必须有#end if
2.条件中不能有变量(因为预处理命令是在编译之前的,变量没有意义),我们需要定义一个宏定义
3.#if define(NUM) 可以判断是否定义了宏NUM ,如果定义了则执行,#if !define(NUM) 这个表示如果没有定义则执行。
|
|