• 0

    消息 标记为已读

    没有消息

    查看全部
  • 登录/注册
  • 我的班级
  • getchar清除scanf数据缓冲区的值

    老师的观点:scanf是读取用户输入缓存区的数值(假设输入的是一个字符),getchar可以清除这个缓存区的值,当遇到scanf时用户可以再次输入 不理解getchar是如何清除这个缓存的,它具有读取用户输入字符的功能,具体课程内容是循环辅助语句下,16:31处,不理解程序的执行过程

    楼主 GavinChen 来自 物联网-循环辅助语句下 2018-09-04 07:36:55 1人参与讨论

    添加回答

    回答问题最高可获5M豆哦!

    全部回复

    创客杨老师

    创客学院老师

    输入一个字符,scanf(“%d”,&n)就会调用失败,这个字符会存储到我们的缓存区中,这个时候如果不读走,会一直存储到这里,再调用scanf(“%d”,&n)依然是失败,这时候我们就需要用读字符的函数,把这个字符读走,所以会出现这几行代码。

    我们输入的数据不是直接就读到内存中的,会先放在缓存区,然后再读到内存中的,读走了缓存区就没有这个数据了,这个读就是我们课上学的getchar、gets、scanf函数来做的。

    赞同(0) 引用 | 1楼 2018-09-04 回复

    我的回复

    发表成功 M豆+5

    每日可获得50M豆,免费兑换开发板

    点赞

    收藏

    二维码

    扫一扫,在手机上查看!

    所属分类 全部分类

    C语言

    4547人关注

    关注

    C语言是一门通用的,模块化,程序化的编程语言,被广泛应用于操作系统和应用软件的开发。

    多线程

    2790人关注

    关注

    多线程是指从软件或者硬件上实现多个线程并发执行的技术。

    相关课程

    热门问题

    C语言测试题

    18 回答 来自 嵌入式

    FS-MP1A--linnix 编程问题

    16 回答 来自 嵌入式