C語言#ifdef指令

#ifdef預處理程式指令檢查宏是否由#define定義。 如果是,則執行代碼,否則#else代碼執行(如果存在)。

語法:

#ifdef MACRO
    //code
#endif

#else語法:

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

#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);
}

執行上面測試代碼,得到以下結果 -

Value of a: 2

但是,如果您沒有定義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);
}

執行上面測試代碼,得到以下結果 -

Enter a:10
Value of a: 10

上一篇: C語言#undef指令 下一篇: C語言#ifndef指令