C语言中的条件编译是什么?

在 C 编程语言中,有几个指令控制部分程序代码的选择性编译。它们如下 -

  • #如果

  • #别的

  • #elif

  • #万一

#if的一般形式如下 -

#if constant_expression
   statement sequence
#endif

#else 的工作方式与 C 关键字 else 非常相似。

#elif 的意思是“else if”,建立一个 if else-if 编译链。

其中,#if 提供了一种“注释掉”代码的替代方法。

例如,

#if 0
   printf("#d", total);
#endif

在这里,编译器会忽略 printf("#d", total);

#ifdef 和 #ifndef

#ifdef 表示“如果已定义”,并以#endif 结尾。

#indef 的意思是“如果没有定义”。

#undef

#undef 删除先前定义的定义。

#线

#line 更改 __LINE__ 的内容,其中包含当前编译代码的行号,__FILE__ 是一个包含正在编译的源文件名称的字符串。两者都是编译器中预定义的标识符。

#pragma

#pragma 指令是一个实现定义的指令,它允许向编译器提供各种指令。

示例

以下是演示 #ifdef、#ifndef、#else 和 #endif的 C 程序-

# include <stdio.h>
# define a 10
void main(){
   #ifdef a
   printf("\n Hello I am here..");
   #endif
   #ifndef a
   printf("\n Not defined ");
   #else
   printf("\n R u There ");
   #endif
}
输出结果

执行上述程序时,会产生以下结果 -

Hello I am here..
R u There