#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