黑马程序员技术交流社区
标题:
日课11 c语言之条件编译
[打印本页]
作者:
黑白世界
时间:
2015-9-25 00:56
标题:
日课11 c语言之条件编译
如果我们使用
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) 这个表示如果没有定义则执行。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2