c语言学习笔记之条件编译

1、分支结构的if

  • 当条件满足的时候就会执行if后面的语句
  • 在程序运行的阶段进行判断的

2、条件编译:当条件满足的时候才会编译#if后面的语句

  1. 条件编译中的条件只能由宏定义和常量组成,不能出现变量
  2. 编译时候进行判断的

 注意点:必须是以#endif结尾

如:

#if week == 1
    printf("星期一\n");
#elif week == 2
    printf("星期二\n");
#elif week == 3
    printf("星期三\n");
#elif week == 4
    printf("星期四\n");
#elif week == 5
    printf("星期五\n");
#elif week == 6
    printf("星期六\n");
#elif week == 7
    printf("星期日\n");
#else
    printf("药不能停\n");
#endif
}

使用场景:

 1、 用于Debug调试,系统中自带的常量DEBUG(程序发布系统自动取消)

 如:

//如果定义了某个宏
#ifdef DEBUG
#define  Log(formatter,...) printf(formatter,## __VA_ARGS__);
//__VA_ARGS__ 固定写法表示多参数
//## 表示可以不带参数
#else
#define  Log(formatter,...)
#endif

 2、 判断宏是否存在或者常量是否满足if,然后做一些事情,如:添加一个宏

 如:

//判断一个宏定义是否存在
#ifdef 宏名
//   如果定义某个宏编译这里面的语句
#endif
#ifndef 宏名
// 如果没有定义某个会编译这里面的语句
#endif

 3、条件编译可以防止头文件的重复包含(不要掌握)

// 这些写在头文件中
#ifndef ___115________me__
// 如果没有包含,则包含
#define ___115________me__
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值