C语言中的条件编译是什么?
在C编程语言中,有几个指令控制部分程序代码的选择性编译。它们如下-
#如果
#别的
#elif
#万一
#if的一般形式如下-
#if constant_expression statement sequence #endif
#else的工作方式与C关键字else非常相似。
#elif的意思是“elseif”,建立一个ifelse-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输出结果# 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