黑马程序员技术交流社区
标题: 2014.11.19学习小结之条件编译 [打印本页]
作者: 736010695 时间: 2014-11-19 23:12
标题: 2014.11.19学习小结之条件编译
本帖最后由 736010695 于 2014-11-20 19:44 编辑
#include <stdio.h>
#define A 10
#define B
int main()
{
/*知识回顾:if语句的写法
int a = 10;
if(a==10)
{
printf("a=%d\n", a);
}
else if(a==5)
{
printf("a=%d\n",a);
}
else
{
printf("其他值\n");
}
*/
#if(A==10)//这里括号可写可不写
//检验前面是否定义了A==0,条件编译是编译前执行,所以定义a的值时用宏定义(宏定义和条件编译都是在编译前执行
printf("A=10\n");
#elif(a==f)//如果上面条件不符合则检验这句代码是否成立
printf("A=5\n");
#else//如果上面条件都不成立则执行这句代码
printf("其他值\n");
#endif
/*这句一定要写,不然会在运行完正确条件后面的代码后把下面所有的东西删掉,
结果导致main函数的return和大括号}都被删掉,编译器报错*/
//利用条件编译判断一个宏在前面是否定义过
#ifdef A
printf("已经定义\n");
#endif
#ifndef B
printf("没有定义\n");//由于上面宏定义已经定义过B,所以这句不输出
#endif
return 0;
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |