#ifdef...#else...#endif

用于进行条件编译。

格式
#ifdef识别符...为进行条件编译的源代码
[#else]...伪条件的源代码
#endif

参数

识别符
#是编译#ifdef和#else或#endif之间的源代码、进行用户定义的关键字。这样,此识别符将作为编译条件而起作用。

说明
​#ifdef...#else...#endif用于条件编译已选择的源代码。是否进行了编译的条件将根据识别符来确定。首先,#ifdef将检查指定的识别符是否被当前#define定义。#else语句可以省略。

[已定义时] 如果#else语句正在使用,将编译#ifdef和#else之间的语句。#如果未使用#else语句,将编译#ifdef和#endif之间的语句。

[未定义时] 如果#else语句正在使用,将编译#else和#endif之间的语句。#如果未使用#else语句,将跳过该语句而不编译#ifdef和#endif之间的语句。

参阅
​#define, #ifndef

#ifdef使用示例
下例为使用#ifdef的程序例。在下例中,可以根据有无#define DEBUG模拟命令的定义来控制是否输出变量A$的值。如果#define DEBUG模拟命令是在源码中使用,以此为例是在记载的部分之前使用,Print A$的行将被编译并且在执行程序时输出。但是,此时将输出字符串“The End”而与#define DEBUG模拟命令无关。

'如果是调试模式,将取消对以下的行的注释
' #define DEBUG

Input #1, A$
 #ifdef DEBUG
    Print "A$ = ", A$
 #endif
Print "The End"