学了这么久的C语言,你真的懂scanf函数么?

发布时间:2020-5-13 11:59    发布者:嵌入式人生17
学了这么久的C语言,你真的懂scanf函数么?
很多人可能到现在也不是很明白stdio.h这个头文件有什么作用,初学者看书的时候应该看到过这句话:
C语言本身是不包含输入输出语句的。
printf函数和scanf函数一样,都被声明在头文件stdio.h里。(特殊IDE除外)
如果在开头没有加stdio.h,你如果不用输入输出语句是没有一点问题的,代码为证:
file:///C:\Users\Administrator.WIN-STED6B9V5UI\AppData\Local\Temp\ksohtml25264\wps6.png
先看下scanf的用法
scanf(格式控制,地址表列)
格式控制和printf函数一样,地址表列是由若干个地址组成的表列,可以是变量的地址,或字符串的首地址
上面是scanf函数的格式,这里着重强调一下地址列表。
小案例:
file:///C:\Users\Administrator.WIN-STED6B9V5UI\AppData\Local\Temp\ksohtml25264\wps7.png
a是一个整型变量,上面的scanf后半句加了一个&符号,读者要弄清楚&是干什么用的:&是一个取地址运算符,&a表示a变量的地址,这样才符合scanf的用法。
scanf还有一个特点是:
从键盘输入的样式一定要和你在代码中输入的样式一样,如果一样则会出现逻辑性错误。
代码为证:
file:///C:\Users\Administrator.WIN-STED6B9V5UI\AppData\Local\Temp\ksohtml25264\wps8.png
错误1:输出一个数后换行
file:///C:\Users\Administrator.WIN-STED6B9V5UI\AppData\Local\Temp\ksohtml25264\wps9.png
错误2:两个数之间有逗号
file:///C:\Users\Administrator.WIN-STED6B9V5UI\AppData\Local\Temp\ksohtml25264\wps10.png
正确输出

此外还需要注意的一点事:在输入数值数据时,如输入空格、回车、Tab键或遇到非法字符,认为该数据结束。
直白话就是,如果想录入空格,不要用scanf函数,不是录不了,比较复杂,想了解用法的,可以自行百度,gets函数可以直接录入空格。

本文地址:https://www.eechina.com/thread-588558-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

  • Microchip视频专区
  • Dev Tool Bits——使用MPLAB® Discover浏览资源
  • Dev Tool Bits——使用条件软件断点宏来节省时间和空间
  • Dev Tool Bits——使用DVRT协议查看项目中的数据
  • Dev Tool Bits——使用MPLAB® Data Visualizer进行功率监视
  • 贸泽电子(Mouser)专区
关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表