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

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

"stdio.h"

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

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

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

今天学弟跑了一段代码: 98f38269d730bdd5280b29ee73083007.png

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

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

首先我们要认识到:

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

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

自己声明标准库函数原型

结论:

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

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

欢迎下方评论区讨论?

目录
相关文章
|
机器学习/深度学习 自然语言处理 算法
文本分析-使用jieba库进行中文分词和去除停用词(附案例实战)
文本分析-使用jieba库进行中文分词和去除停用词(附案例实战)
8830 0
|
存储 Shell Linux
Linux Bash 脚本中的 IFS 是什么?
【4月更文挑战第25天】
468 0
Linux Bash 脚本中的 IFS 是什么?
|
安全 API 开发工具
Android平台RTMP推送|轻量级RTSP服务如何实现麦克风|扬声器声音采集切换
Android平台扬声器播放声音的采集,在无纸化同屏等场景下,意义很大,早期低版本的Android设备,是没法直接采集扬声器audio的(从Android 10开始支持),所以,如果需要采集扬声器audio,需要先做系统版本判断,添加相应的权限。
350 0
负载开关IC:简化电源管理与提升系统稳定性的关键
【11月更文挑战第8天】负载开关IC是以串联方式插入电源与负载电路或IC之间的一个半导体开关。
132 0
|
SQL 存储 数据库
创建SQL Server视图
【8月更文挑战第19天】创建SQL Server视图
294 1
|
前端开发 小程序 测试技术
前端后端测试接口mork神器,Apifox使用一分钟入门
前端后端测试接口mork神器,Apifox使用一分钟入门
940 0
|
数据采集 Java
2021Kali系列 -- 目录扫描(Dirbuster)
2021Kali系列 -- 目录扫描(Dirbuster)
197 0
|
机器学习/深度学习 PyTorch 算法框架/工具
PyTorch深度学习基础之Tensor的变换、拼接、拆分讲解及实战(附源码 超详细必看)
PyTorch深度学习基础之Tensor的变换、拼接、拆分讲解及实战(附源码 超详细必看)
271 0
|
缓存 自然语言处理 Linux
xv6(12) 文件系统:Inode&Directory&Path
文件系统:Inode&Directory&Path
170 0
|
Java Maven
Gradle、Maven使用阿里镜像源
Gradle、Maven使用阿里镜像源
47660 1