C语言#ifndef指令

#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语言#ifdef指令 下一篇: C语言#if指令