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