年年有"余"

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2156|回复: 0

条件编译示例

[复制链接]
  • TA的每日心情
    奋斗
    2022-12-13 21:26
  • 签到天数: 371 天

    [LV.9]以坛为家II

    发表于 2014-3-7 14:30:08 | 显示全部楼层 |阅读模式
    源代码:
    1. /*
    2. 条件编译
    3. 1、在预处理中进行条件判断,哪些代码需要进行编译;
    4. 2、判断范围仅在预处理代码中进行,无法对实际代码中变量或值进行操作;
    5. 3、预处理在编译时进行,决定哪些代码需要参与编译;
    6. */
    7. #include <stdio.h>
    8. #define MARK  3  //  定义宏MARK
    9. int main() {
    10.    
    11.     printf("%d\n", MARK);  // 打印一个整型数据;
    12.    
    13.     int mark = 5;
    14.    
    15. #if (MARK == 5)  // 条件编译,判断宏MARK是否等于5;如果相等则将以下代码编译
    16.    
    17.     printf("marked 5\n");  // 如果以上条件编译代码中条件为真,则在代码中插入这行代码,而并非执行该代码!!;
    18. #elif (MARK == 4)  // 相当于else if,进入另一个条件判断,这些判断的依据都来自于预处理代码,并非源代码。
    19.     printf("marked 4\n");
    20.    
    21. #else
    22.     printf("No marked\n");
    23.    
    24. #endif  // 结尾一定要加endif,否则条件如果不成立,后续所有代码都被忽略
    25.    
    26.     system ("pause");
    27.    
    28.     return 0;
    29.    
    30.     }
    复制代码
    以上代码翻译相当于:
    1. #include <stdio.h>
    2. int main() {
    3.    
    4.     printf("%d\n", 3);  // 打印一个整型数据;
    5.    
    6.     int mark = 5;
    7.     printf("No marked\n");
    8.    
    9.     system ("pause");
    10.    
    11.     return 0;
    12.    
    13.     }
    复制代码
    预处理指定或不满足条件编译的指令都不参与程序编译!!


    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    手机版|小黑屋|Archiver|iOS开发笔记 ( 湘ICP备14010846号 )

    GMT+8, 2024-4-29 17:12 , Processed in 0.047624 second(s), 23 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表