c语言条件编译 条件运算,C语言

C语言#if教程

#if 后面可以接常量表达式,如果常量表达式的值为真(非0),则对一段程序进行编译,否则对另一段程序进行编译。因此可使程序在不同条件下,完成不同的功能。

C语言#if详解

语法

#if expression

code1

#endif

说明

如果表达式 expression 为真,那么就编译代码 code1,否则就不编译。

语法

#if expression

code1

#else

code2

#endif

说明

#if 也可以配合 #else 一起使用,这里说明,如果常量表达式 expression 为真,那么就编译代码 code1,否则就编译代码 code2。

案例

C语言#if

使用 #if 条件编译,执行编译代码

#include

int main(){

printf("嗨客网(www.haicoder.net)\n\n");

#define compile 1

#if compile

printf("Start compile\n");

#endif

return 0;

}

程序运行后,控制台输出如下图所示:

1H6d3zdGuJpxLAAAAAElFTkSuQmCC

我们首先使用了 #if 来判断宏 compile 是否为真,如果为真,则执行

#include

int main(){

printf("嗨客网(www.haicoder.net)\n\n");

#define compile 0

#if compile

printf("Start compile\n");

#endif

return 0;

}

程序运行后,控制台输出如下图所示:

wFZqNluZ18y3wAAAABJRU5ErkJggg==

这次,我们使用了 #define 定义了 compile 宏为 0,此时,再次执行该程序,程序未执行 printf 代码。

C语言#if

使用 #if 和 #else 执行不同的编译代码

#include

int main(){

printf("嗨客网(www.haicoder.net)\n\n");

#define compile 0

#if compile

printf("Start compile\n");

#else

printf("Do not compile\n");

#endif

return 0;

}

程序运行后,控制台输出如下图所示:

QejAAAAAElFTkSuQmCC

我们首先使用了 #if 来判断宏 compile 是否为真,如果为真,则执行第一个 printf 对应的代码,如果为假,那么就执行第二个 printf 代码。

因为,我们定义了 compile 宏为 0,所以执行了第二个 printf 代码。现在,我们修改程序如下:

#include

int main(){

printf("嗨客网(www.haicoder.net)\n\n");

#define compile 1

#if compile

printf("Start compile\n");

#else

printf("Do not compile\n");

#endif

return 0;

}

程序运行后,控制台输出如下图所示:

ZO0IAAPAN3X0Ei8WDBQoAALhDAXmQAgIAAM9TQB6kgAAAwPMUEAAA4DQKCAAAcBoFBAAAOI0CAgAAnEYBAQAATqOAAAAAp1FAAACA0yggAADAaRQQAADgNAoIAABwGgUEAAA4x9vtf5rnBewGVKvmAAAAAElFTkSuQmCC

这次,我们看到,执行了第一个 printf 的代码。

C语言#if教程总结

C 语言的 #if 后面可以接常量表达式,如果常量表达式的值为真(非0),则对一段程序进行编译,否则对另一段程序进行编译。因此可使程序在不同条件下,完成不同的功能。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值