#ifndef預處理程序指令檢查宏是否為未由#define定義。如果是,則執(zhí)行代碼,否則#else代碼執(zhí)行(如果存在)。
語法:
#ifndef MACRO
//code
#endif
#else語法:
#ifndef MACRO
//successful code
#else
//else code
#endif
#ifndef示例
下面來看看一個簡單使用#ifndef預處理指令的例子。創(chuàng)建一個源文件:ifndef-example.c,其代碼實現(xiàn)如下 -
#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);
}
執(zhí)行上面示例代碼,得到以下結(jié)果 -
Enter a:200
Value of a: 200
但是,如果不定義INPUT,它將執(zhí)行#ifndef的代碼塊。創(chuàng)建一個源文件:ifndef-example2.c,其代碼實現(xiàn)如下 -
#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);
}
執(zhí)行上面示例代碼,得到以下結(jié)果 -
Value of a: 2