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

"stdio.h"

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

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

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

今天学弟跑了一段代码:

《宏定义include

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

《宏定义include

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

首先我们要认识到:

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

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

自己声明标准库函数原型

《宏定义include

《宏定义include

结论:

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

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

欢迎下方评论区讨论?

点赞