条件编译指令:#if,#endif

介绍
     #if和#endif是一组同时使用的,叫做条件编译指令。#if与#define、#include等指令一样是由预处理器这个强大的工具处理的,预处理器可以在编译前处理c程序
实例讲解
#include <stdio.h>
#define class_1 0
#define class_2 1
int main()
{#if class_1
printf("class_1\n");
#endif
#ifdef class_2
printf("class_2\n");
#endifreturn 0;
}

运行结果图

可以明显看出,程序没有执行
#if class_1
#endif
中的程序,这是因为,在程序的开头已经定义了class_1为0,而class_2为1,程序遇见
#if
#endif

只执行#if后面是1的程序段,而不执行后面是的程序段。
这就是条件编译指令的用法。

条件编译指令:#if,#endif相关推荐

  1. C++编译预处理:宏定义指令、文件包含指令和条件编译指令

     ◆ 不带参数的宏定义:用来产生与一个字符串(即宏名)对应的常量字符串,格式为:    #define 宏名 常量串 ◆ 带参数的宏定义:带参宏定义的形式很象定义一个函数,格式为:    #def ...

  2. 条件编译指令(符号),C语言条件编译指令完全攻略

    在 C 语言中,条件编译指令可以实现源代码的部分编译功能,可以根据表达式的值或者某个特定的宏来确定编译条件,以决定编译哪些代码,不编译哪些. 使用"#ifndef/#define/#endi ...

  3. 条件编译#ifdef 和#endif

    转于http://blog.csdn.net/fly_yr/article/details/39964035 C++中 #ifdef 和#endif的作用 一般情况下,源程序中所有的行都参加编译.但是 ...

  4. 问题十一:用条件编译(#if…#endif)避免 main函数中测试代码在测试完成后就删除

    #define testNumber 3 /* 1: output the first image 2: test "int &ri,int& ri,int*&pri ...

  5. c++预处理指令#ifdef...#endif

    #ifdef DEBUG //如果DEBUG被定义了,则执行printf(",we get:%c",c); #endifprintf("\n"); #ifnde ...

  6. 浅谈 C/C++ 的条件编译

    1.条件编译的时机 我们都知道vscode其实是一个编辑器,你要在上面跑C或者C++你需要配置编译器,拿编译器是怎样吧一个文本文件变成一个可执行文件的呢? 那必然是经历以下这四步 预处理:宏替换,头文 ...

  7. 【C++探索之旅】第一部分第八课:传值引用,文件源头

    内容简介 1.第一部分第八课:传值引用,文件源头 2.第一部分第九课预告:数组威武,动静合一 传值引用,文件源头 这一课的标题有点怪.其实是由这一课的几个重点内容结合起来取的名,慢慢学习就知道啦. 上 ...

  8. [阿发你好]C/C++学习指南

    -###-----------------------– 阿发你好第2章 输出指定宽度的数字 #include <stdio.h> #include <stdlib.h> in ...

  9. C++学习笔记(一) 基础语法 —参考阿发你好

    -###-----------------------– 阿发你好第2章 输出指定宽度的数字 #include <stdio.h> #include <stdlib.h> in ...

最新文章

  1. python朴素贝叶斯回归预测的结果全是1_python – 朴素贝叶斯概率总是1
  2. java底层语言_JAVA语言思维的底层基础
  3. centos7通过yum升级内核到最新版本
  4. SCOM Logical Disk Free Space Monitor
  5. TiDB 在知乎万亿量级业务数据下的实践和挑战
  6. 使用lucce分词怎么_真小叮当深度学习:自然语言处理(三)文本处理之分词专题...
  7. 机器学习经典论文/survey合集
  8. 实验 7 场景运行监控及性能测试结果分析_实验报告--软件功能测试与性能测试实验
  9. 淡黄色电子书阅读器网站模板
  10. MongoDb和LINQ:如何汇总和加入集合
  11. Linux教程:10条秘诀确保Linux桌面安全性
  12. malloc,free 与new delete的区别
  13. linux修改IP地址的命令
  14. Win10系统Ctrl键锁定无法使用解决方法
  15. 发送短信验证码(天翼开放平台)
  16. 简述敏捷团队,XP团队的特点。
  17. Python爬虫系列之爬取微信公众号新闻数据
  18. 百度easydl数据标注
  19. 网络爬虫是什么意思,可以实现什么效果
  20. android 触摸 唤醒屏幕,Android中屏幕保持唤醒

热门文章

  1. Cookie 详解
  2. 广义线性模型——逻辑回归(logistic regression)
  3. war,jar包是啥
  4. 移动开发解决方案之玩转输入框
  5. Hibernate bean 对象配制文件
  6. Android之蓝牙开发浅析
  7. Mr.J--树、二叉树、森林的转换
  8. 文献阅读 - Genome-wide consequences of deleting any single gene
  9. 日期和毫秒值 例子
  10. John's trip(POJ1041+欧拉回路+打印路径)