TA的每日心情 | 汗 2024-10-15 10:05 |
---|
签到天数: 372 天 [LV.9]以坛为家II
|
源代码:- /*
- 条件编译
- 1、在预处理中进行条件判断,哪些代码需要进行编译;
- 2、判断范围仅在预处理代码中进行,无法对实际代码中变量或值进行操作;
- 3、预处理在编译时进行,决定哪些代码需要参与编译;
- */
- #include <stdio.h>
- #define MARK 3 // 定义宏MARK
- int main() {
-
- printf("%d\n", MARK); // 打印一个整型数据;
-
- int mark = 5;
-
- #if (MARK == 5) // 条件编译,判断宏MARK是否等于5;如果相等则将以下代码编译
-
- printf("marked 5\n"); // 如果以上条件编译代码中条件为真,则在代码中插入这行代码,而并非执行该代码!!;
- #elif (MARK == 4) // 相当于else if,进入另一个条件判断,这些判断的依据都来自于预处理代码,并非源代码。
- printf("marked 4\n");
-
- #else
- printf("No marked\n");
-
- #endif // 结尾一定要加endif,否则条件如果不成立,后续所有代码都被忽略
-
- system ("pause");
-
- return 0;
-
- }
复制代码 以上代码翻译相当于:- #include <stdio.h>
- int main() {
-
- printf("%d\n", 3); // 打印一个整型数据;
-
- int mark = 5;
- printf("No marked\n");
-
- system ("pause");
-
- return 0;
-
- }
复制代码 预处理指定或不满足条件编译的指令都不参与程序编译!!
|
|