C语言教程:#ifdef指令

#ifdef预处理程序指令检查宏是否由#define定义。 如果是,则执行代码,否则#else代码执行(如果存在)。

语法:

#ifdef MACRO  
    //code  
#endif
C

#else语法:

#ifdef MACRO  
    //successful code  
#else  
    //else code  
#endif
C

#ifdef示例

下面来看看一个简单的例子来了解如何使用#ifdef预处理器指令。创建一个源文件:ifdef-example.c,其代码如下所示 -

#include <stdio.h>  

#define NOINPUT  
void main() {
    int a = 0;
#ifdef NOINPUT  
    a = 2;
#else  
    printf("Enter a:");
    scanf("%d", &a);
#endif         
    printf("Value of a: %d\n", a);
}
C

执行上面测试代码,得到以下结果 -

Value of a: 2
Shell

但是,如果您没有定义NOINPUT,则会要求用户输入一个数字。创建一个源文件:ifdef-example2.c,其代码如下所示 -

#include <stdio.h>  

void main() {
    int a = 0;
#ifdef NOINPUT  
    a = 2;
#else  
    printf("Enter a:");
    scanf("%d", &a);
#endif         
    printf("Value of a: %d\n", a);
}
C

执行上面测试代码,得到以下结果 -

Enter a:10
Value of a: 10
THE END