A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 736010695 中级黑马   /  2014-11-19 23:12  /  800 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 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;
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马