Scanf函数清除缓冲区

之前涉及到scanf会先到缓冲区看看是否存在数据,若存在数据,就直接拿缓冲区的数据过来使用,这就涉及到了一个问题,那如果缓冲区的数据不是我想要的呢?

方法一:我们用scanf吸收掉

我们的代码这样写:

int main(int argc, const char * argv[]) {

printf("请输入一个整数\n");

int num1;

scanf("%d",&num1);

printf("请输入一个字符\n");

char c;

scanf("%c",&c);//吸收掉一个回车

scanf("%c",&c);

printf("num1= %d ,c= %c\n",num1,c);

return 0;

}

效果如下:

但是这个方法有一个不好的地方就是若用户输完第一个整数之后,会按好几个回车,那我们这个方法就不能满足了。

方法二:我们用rewind(stdin)来清除缓存,代码如下:

int main(int argc, const char * argv[]) {

printf("请输入一个整数:\n");

int num1;

scanf("%d",&num1);

rewind(stdin);

printf("请输入一个字符\n");

char c;

scanf("%c",&c);

printf("num1=%d,c=%c\n",num1,c);

return 0;

}

这个有个好处就是,当我们输入第一个整数之后,整数后面我们可以输入空格,tab 都对我们接下来要输入的字符无影响,因为我们会清除掉缓存,效果如下:

c语言scanf函数隐藏的缓冲区,零基础学C语言 笔记四 Scanf函数清除缓冲区相关推荐

  1. 零基础学c语言 第2版,零基础学C语言(第2版)(1张) 康莉 等 机械工业出版社 9787111372929...

    商品描述: 基本信息 书名:零基础学C语言(第2版)(1张) 定价:59.00元 作者:康莉 等 著 出版社:机械工业出版社 出版日期:2012-04-01 ISBN:9787111372929 字数 ...

  2. C语言基础专业书,零基础学C语言(第3版) (康莉/李宽 等著) 中文pdf完整版[29MB]

    零基础学C语言(第3版)站在零基础学习的角度讲授C语言,使初学者能尽快掌握C语言程序设计的精髓,避免走弯路.在讲解知识点时,笔者采用由浅人深.逐级递进的学习方式进行内容设置安排.<零基础学C语言 ...

  3. Java学习记录_1:MOOC《零基础学Java语言》课后习题解

    Hey,我是寒水,一名大二学生,电子商务专业在读,正在学习Java中.我试图将在Java学习中遇到的一些困惑和最终的解答发在这个账号上,希望以此来激励我不要放弃学习! 在学习记录这个专题中,我收藏一些 ...

  4. 零基础学Java语言---编程题

    零基础学Java语言-编程题 注意:没有上机实际测过,代码仅供参考 1.温度转换 写一个将华氏温度转换成摄氏温度的程序,转换的公式是: °F = (9/5)*°C + 32 其中C表示摄氏温度,F表示 ...

  5. java无线电台RS制信号_中国MOOC_零基础学Java语言_第2周 判断_2信号报告

    2 信号报告(5分) 题目内容: 无线电台的RS制信号报告是由三两个部分组成的: R(Readability) 信号可辨度即清晰度. S(Strength)    信号强度即大小. 其中R位于报告第一 ...

  6. python语言学习零基础教学视频_零基础学Python语言CAP全套课程

    零基础学Python语言CAP完整版课程目录 ├─{1}–[第1周,第一单元]Python编程之基本方法 │ ├─{1}–1.1课程内容和安排介绍 │ │ ├─(1.1.1)–课程内容和安排介绍-PP ...

  7. 零基础学c语言 第2版 pdf下载,《零基础学C语言(第2版)》.(康莉,李宽).[PDF].@ckook.pdf...

    零基础学C语言(第2版)(康莉,李宽)高清PDF扫描版105M,本书站在零基础学习的角度,使初学者能尽快掌... 更多资源请访问稀酷客() 更多资源请访问稀酷客() 更多资源请访问稀酷客() 更多资源 ...

  8. 西安c语言培训班培训,零基础学c语言难吗 西安C语言培训班传授学习技巧

    C语言在大家心目中,有一种很难学的印象,零基础学C语言难吗?许多人觉得C语言作为入门语言觉得太难了,为什么这么多人觉得C语言难?理清思路,下定决心,一切都会变的不凡,零基础学C语言会有一定的难度,可以 ...

  9. 『零基础学Java语言-浙江大学-翁恺』第6周 使用对象

    以下为个人学习笔记和习题整理 课程:零基础学Java语言-浙江大学-翁恺 @ 中国大学MOOC https://www.icourse163.org/course/ZJU-1001541001 文章目 ...

最新文章

  1. PHP原生处理select结果集的函数介绍
  2. Castle DynamicProxy基本用法(AOP)
  3. 百度增长复苏,市值一夜涨160亿;李彦宏:技术价值再度闪耀,宁可创新冒险也不平庸保守...
  4. 如何捕获window.print点击打印或取消_原来1:1的CAD图纸要这样打印!学了这么久才知道...
  5. tensorflow random的用法
  6. Python Flask-表单提交方式
  7. SpringCloud(1) 架构演进和基础知识简介
  8. mysql异常修复_MySQL错误修复:Table xx is marked as crashed and last (automatic?) repair failed...
  9. FreeModbus RTU传输
  10. 思维导图软件下载与安装 记录xmind安装过程
  11. Windows 10系统 装Ubuntu,亲测有效
  12. Musical Theme POJ - 1743(后缀数组+二分)
  13. 华为正式发布鸿蒙OS操作系统,分布式架构首次用于终端
  14. ES6 — 箭头函数
  15. notepad2正则表达式替换字符串
  16. MySQL OCP 认证考试你知道吗?
  17. maven+Tomcat热部署
  18. 在线全网音乐搜索下载源码
  19. 77GHz毫米波雷达快速chirp信号技术(五):CAPON Beamforming
  20. nodejs和php性能,Nodejs 和PHP 性能测试结果

热门文章

  1. 微信公众号页面模版怎么添加文章推荐功能
  2. 中关村windows11 32位专业版镜像v2021.07
  3. win10一键重装系统​
  4. JS file图片即选即得显示,前端交互图片即选即得
  5. Status Code:200 OK (from disk cache)和304的区别,以及怎么禁止缓存
  6. php求北京时间方法,php怎么将获得的时间转换为北京时间
  7. flutter不支持热更新_Flutter 在安卓上可以实现热更新了
  8. c语言中闰年的流程图_C语言-算法与流程图
  9. mysql数据库开发要求_MYSQL数据库开发规范
  10. 2021曾都二中高考成绩查询入口,2021高考-随州设4个考区11个考点·