宏定义include"stdio.h"可加可不加?

"stdio.h"

是写C之前告诉预处理器的一道命令,释义: standard input&output

所以了,用到标准输入输出函数时,就要调用这个头文件!

当然这是我们作为初学者学习的时候,老师和书本跟你说的!

今天学弟跑了一段代码:

在这里插入图片描述

但是执行结果是对的!且没有waring!代码中还留有printf输出函数,我来回执行发现都显示正确,我感到非常惊讶,于是把代码原样搬到了自己的笔记本电脑上跑了一下!!!

在这里插入图片描述

坦白的说上图才是我想看到的执行结果,那为什么会这样呢???

首先我们要认识到:

  1. #include 宏定义不是C语言!
  2. 很多老的编译器会默认隐含包含stdio.hstdlib.h两个头文件。这时候即使你没有自己手动包含stdio.h也是不会报错的。

除了这种情况我们也可以换一种方法:

自己声明标准库函数原型

img
img

结论:

  1. #include基本上只是相当于打开你include的文件,然后复制到#include语句的位置,理论上完全可以手动把那几个文件复制过去。

所以你觉得还需要写#include 吗??

欢迎下方评论区讨论?

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 3,428评论 0 2
  • 作者 谢恩铭,公众号「程序员联盟」(微信号:coderhub)。转载请注明出处。原文:https://www.ji...
    程序员联盟阅读 3,668评论 18 57
  • 动态链接,在可执行文件装载时或运行时,由操作系统的装载程序加载库。大多数操作系统将解析外部引用(比如库)作为加载过...
    小5筒阅读 5,577评论 0 3
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,509评论 0 5
  • C/C++头文件一览 C #include //设定插入点 #include //字符处理 #include ...
    breezez阅读 584评论 0 0