C语言#ifndef指令
#define x //定义一个宏
…
#endif
//C语言在对程序进行编译时,会先根据预处理命令进行“预处理”。C语言编译系统包括预处理,编译和链接等部分。
#ifndef x //先测试x是否被宏定义过
#define x
程序段1 //如果x没有被宏定义过,定义x,并编译程序段 1
#else
程序段2 //如果x已经定义过了则编译程序段2的语句,“忽视”程序段 1。
#endif//终止if
#ifndef预处理程序指令检查宏是否为未由#define定义。如果是,则执行代码,否则#else代码执行(如果存在)。
语法:
#ifndef MACRO
//code
#endif
#else语法:
#ifndef MACRO
//successful code
#else
//else code
#endif
#ifndef示例
下面来看看一个简单使用#ifndef预处理指令的例子。创建一个源文件:ifndef-example.c,其代码实现如下 -
#include <stdio.h>
#define INPUT
void main() {
int a = 0;
#ifndef INPUT
a = 2;
#else
printf("Enter a:");
scanf("%d", &a);
#endif
printf("Value of a: %d\n", a);
}
执行上面示例代码,得到以下结果 -
Enter a:200
Value of a: 200
但是,如果不定义INPUT,它将执行#ifndef的代码块。创建一个源文件:ifndef-example2.c,其代码实现如下
#include <stdio.h>
void main() {
int a = 0;
#ifndef INPUT
a = 2;
#else
printf("Enter a:");
scanf("%d", &a);
#endif
printf("Value of a: %d\n", a);
}
执行上面示例代码,得到以下结果 -
Value of a: 2
C语言是学怎么写程序
数据结构是让我们写的程序怎样才能更加高效