#ifdef預(yù)處理程序指令檢查宏是否由#define定義。 如果是,則執(zhí)行代碼,否則#else代碼執(zhí)行(如果存在)。
語(yǔ)法:
#ifdef MACRO
//code
#endif
#else語(yǔ)法:
#ifdef MACRO
//successful code
#else
//else code
#endif
#ifdef示例
下面來(lái)看看一個(gè)簡(jiǎn)單的例子來(lái)了解如何使用#ifdef預(yù)處理器指令。創(chuàng)建一個(gè)源文件: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);
}
執(zhí)行上面測(cè)試代碼,得到以下結(jié)果 -
Value of a: 2
但是,如果您沒(méi)有定義NOINPUT,則會(huì)要求用戶輸入一個(gè)數(shù)字。創(chuàng)建一個(gè)源文件: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);
}
執(zhí)行上面測(cè)試代碼,得到以下結(jié)果 -
Enter a:10
Value of a: 10