c语言条件编译 条件运算,C语言条件编译分析实例

C语言条件编译分析实例

还有一种形式,就是#if 后面跟一个表达式,而不是一个简单的标识符:

#if 表达式

程序段1

#else

程序段2

#endif

它的作用是:当指定的表达式为真(非零)时就编译程序段1,否则编译程序段2.可以事先给定一定条件,使程序在不同的条件下执行不同的功能。例如:

#include

#define LETTER 1

int main (void)

{

#if LETTER

printf ("111\n");

#else

printf ("222\n");

#endif

return 0;

}

输出结果:

111

这种形式也可以用作注释用:#if 1 和 #if 0

#include

int main (void)

{

#if 0

printf ("111\n");

#endif

printf ("222\n");

return 0;

}

输出结果:

222

最后一种形式

#if 标识符

#elif

程序段1

#elfi

程序段2

。。。

#else

程序段n

#endif

#if...#elif(任意多次)...#else...#endif,以上结构可以从任意逻辑表达式选择一组编译,这种结构可以根据任意逻辑表达式进行选择。

/*

条件编译演示

*/

#include

#define SAN

int main()

{

#if defined(YI) //布尔值

printf("1\n");

#elif defined(ER) //布尔值

printf("2\n");

#elif defined(SAN)

printf("3\n");

#else

printf("4\n");

#endif

return 0;

}

输出结果:

3

这里,define是一个预处理运算符。如果 define 的参数已用#define定义过,那么define返回1,否则返回 0 。这种方法的优点在于它可以和#elif一起使用。

应用示例:

我们主要使用以下几种方法,假设我们已在程序首部定义:

#define DEBUG

#define TEST

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值