ifdef … #else …#endif

ifdef … #else …#endif

 条件编译指令。

其语法形式如下:
#ifdef 常量表达式
       代码段1
#else
      代码段2
#endif
其中常量表达式可以仅仅为一个编译标志。
如果常量表达式的值为真(非零值),编译代码段1部分的代码,否则编译代码段2部分的代码。
当常量表达式为简单的编译标志时,如果此编译标志在前面的代码中,已经使用#define指令定义过,且在当前的代码段中有效,则编译代码段1部分的代码,否则编译代码段2部分的代码。
例:
#define CONST_TRUE 1
#define TAG_TRUE
void main()
{
#ifdef CONST_TRUE
printf("The CONST_TRUE is true\n");
#else
printf("The CONST_TRUE is false\n");
#endif
#ifdef TAG_TRUE
printf("The TAG_TRUE is defined\n");
#else
printf("The TAG_TRUE is not defined\n");
#endif
}
程序的运行结果如下
The CONST_TRUE is true
The TAG_TRUE is defined
因为CONST_TRUE代表1,所以系统编译printf("The CONST_TRUE is true\n")部分代码,因此程序运行输出“The CONST_TRUE is true”的结果。如果CONST_TRUE代表0,则系统编译printf("The CONST_TRUE is false\n")部分代码。由于TAG_TRUE已经定义,所系统编译printf("The TAG_TRUE is defined\n")部分代码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值