Dotcpp  >  编程教程  >  C语言预处理  >  C语言条件编译的用法

C语言条件编译的用法

点击打开在线编译器,边学边练

条件编译 
预处理程序提供了条件编译的功能,可以按不同的条件去编译不同的程序部分,因而产生不同的目标代码文件,这对于程序的移植和调试是很有用的。条件编译可分为三种形式。

第一种形式如下:

#ifdef 标识符
程序段 1
#else
程序段 2
#endif


它的功能是如果标识符已被#define命令定义过则对程序段1进行编译;否则对程序段2进行编译。
如果没有程序段2(为空),本格式中的#else可以没有,即可以写为:

#ifdef 标识符
程序段
#endif


第二种形式如下:

#ifndef 标识符
程序段 1
#else
程序段 2
#endif

与第一种形式的区别是将“ifdef”改为“ifndef”。它的功能是如果标识符未被#define命令定义过则对程序段1进行编译,否则对程序段2进行编译。这与第一种形式的功能正好相反。


第三种形式如下:

#if 常量表达式
程序段 1
#else
程序段 2
#endif


它的功能是如果常量表达式的值为真(非0),则对程序段1进行编译,否则对程序段2进行编译。
因此可以使程序在不同的条件下完成不同的功能。



本文固定URL:https://www.dotcpp.com/course/45

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

C语言教程
第一章 C语言的过去与未来
第二章 C语言快速入门
第三章 C语言的数据类型
第四章 C语言中的基本输入输出
第五章 C语言运算符和表达式
第六章 C语句和程序流
第七章 C语言函数
第八章 C语言数组
第九章 C语言指针
第十章 C语言结构体和共用体
第十一章 C语言文件操作
第十二章 C语言预处理
第十三章 C语言位运算
第十四章 附录
Dotcpp在线编译      (登录可减少运行等待时间)