黑马程序员技术交流社区

标题: 日课11 c语言之条件编译 [打印本页]

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







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2