#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