黑马程序员技术交流社区

标题: 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