美文网首页
清空键盘缓冲区

清空键盘缓冲区

作者: 日薄西山沙漠黄 | 来源:发表于2016-08-27 19:11 被阅读0次

遇到的问题:

题目:3、接受用户从键盘上输入两个单精度浮点数,然后输出他们(保留两位整数))

结果输入的浮点数保留了两位整数 但是剩下之滞留在缓冲区 导致第二个浮点数无法准确输入输出

解决方法: 

windows下用 fflush(stdin);/*清空缓冲区,也可以使用rewind(stdin);*/

Linux OSX下用 setbuf(stdin,NULL);/*清空缓冲区*/

举个🌰: windows系统

/*

* 本程序只适用于 Windows 系统,测试平台:

* Windows XP,Microsoft Visual C++ 6.0 SP6

*/

#include

intmain()

{

charch1;

charch2;

scanf("%c",&ch1);

printf("ch1 = %d",ch1);

fflush(stdin);/*清空缓冲区,也可以使用rewind(stdin);*/

scanf("%c",&ch2);

printf("ch2 = %d",ch2);

return0;

}

🌰 : Linux系统 OSX系统

/*

* 本程序适用于 Windows 和 Linux 系统,

* 测试环境:

* Windows XP,Microsoft Visual C++ 6.0 SP6

* Ubuntu Linux 8.04, NetBeans IDE 6.7

*/

#include

intmain()

{

charch1;

charch2;

scanf("%c",&ch1);

printf("ch1 = %d",ch1);

setbuf(stdin,NULL);/*清空缓冲区*/

scanf("%c",&ch2);

printf("ch2 = %d",ch2);

return0;

}

相关文章

  • 清空键盘缓冲区

    遇到的问题: 题目:3、接受用户从键盘上输入两个单精度浮点数,然后输出他们(保留两位整数)) 结果输入的浮点数保留...

  • OpenGLES使用GLSL语法流程

    流程 一、设置图层Layer 二、设置图形上下文 三、清空缓存区 四、设置渲染缓冲区 五、设置帧缓冲区 六、开始绘...

  • 缓冲区

    首先讲一下,缓冲区和非缓冲区,所谓的非缓冲区就是就是通过键盘输入,然后直接在屏幕中显示,比如是就是打游戏的时候,通...

  • stdin

    stdin是标准输入,一般指键盘输入到缓冲区里的东西

  • 2019-11-19

    键盘监听事件操作 } 使用:/*** 键盘收起弹出监听,* 如果购物车列表;editText 内容被清空,或者 输...

  • php output control

    php 的输出控制方法主要包括以下: flush— 刷新输出缓冲 ob_clean— 清空(擦掉)输出缓冲区 ob...

  • BIOS 中断描述(4)

    7. 中断服务: 16H 键盘 I/O 服务 7.1 服务号:0 键盘读取 返回键盘缓冲区中的下一个字符; 如果没...

  • Php 即时输出 清空缓冲区

  • 示例2:清空颜色缓冲区

    效果 代码

  • C++ getchar()/putchar()函数

    先看一段代码: 在键盘输入字符1,并回车后,得到输出: 4910 解释:字符1,和回车都被放到键盘缓冲区中,而a ...

网友评论

      本文标题:清空键盘缓冲区

      本文链接:https://www.haomeiwen.com/subject/ekrtettx.html