(1)清除缓存的函数是:

void safe_flush(FILE *fp)

{

int ch;

while( (ch = fgetc(fp)) != EOF && ch != '\n' );

}

(2)然后我们在使用的时候,直接调用就可以了:

scanf("%d",&k);

safe_flush(stdin);

这样就可以清除缓存带来的问题了!

(3)案例演示

a.当我们不清除scanf所带来的危害的时候:

#include

#include

int main()

{

int k;

printf("请输入你的秘钥:(整数)");

scanf("%d",&k);

char c;

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

c = getchar();

printf("%d ",k);

printf("%c ",c);

}

我们发现 我们输入一个整数的时候,就自动结束程序了,并且将输入的数值作为缓存给了字符c

然后我们清除缓存:

#include

#include

//用于清除回车键缓存的影响

void safe_flush(FILE *fp)

{

int ch;

while( (ch = fgetc(fp)) != EOF && ch != '\n' );

}

int main()

{

int k;

printf("请输入你的秘钥:(整数)");

scanf("%d",&k);

safe_flush(stdin);

char c;

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

c = getchar();

printf("%d ",k);

printf("%c ",c);

}

当我们输入整数之后,提示我们输入字符,显然消除了缓存

ok!

原文:http://blog.csdn.net/xlgen157387/article/details/41731529

c语言如何清除scanf缓存,C语言如何清除scanf()缓存相关推荐

  1. 清除缓存 c语言_如何用C语言设置,清除和切换单个位?

    清除缓存 c语言 Given a number and we have to 1) set a bit, 2) clear a bit and 3) toggle a bit. 给定一个数字,我们必须 ...

  2. c语言数据输入方式scanf,【C语言】-数据输入-scanf( )和getchar( )

    格式化输入函数scanf( ) scanf( )功能: 按照指定的格式读入键盘上输入的若干个任意类型的数据,存入到argument参数所指向的内存单元,函数返回值为读入并赋给argument的数据个数 ...

  3. scanf在c语言中的作用是什么?

    scanf()函数 scanf()是C语言中的一个输入函数.与printf函数一样,都被声明在头文件stdio.h里,因此在使用scanf函数时要加上#include .(在有一些实现中,printf ...

  4. c语言scanf和printf区别,printf和scanf的区别是什么

    printf和scanf的区别:1.printf是格式化的输出函数,scanf是C语言的输入功能:2.printf用于以规定格式将信息输出到标准输出设备,scanf是一种格式输入功能,即以用户指定的格 ...

  5. scanf在c语言中的作用,c语言中scanf的基本用法

    前言 scanf()是C语言的格式输入函数,和printf函数一样被声明在stdio.h头文件中,它的基本使用很简单: 1 int a; 2 scanf("%d",&a); ...

  6. c语言编译中scanf命令,C语言scanf的用法

    scanf()是C语言中的一个输入函数.与printf函数一样,都被声明在头文件stdio.h里,因此在使用scanf函数时要加上#include .(在有一些实现中,printf函数与scanf函数 ...

  7. php是静态语言,Thinkphp静态缓存多语言切换

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 1.首先判断用户有无手动指定语言 2.从session中获得当前语言 3.session里面没有则从cookie里面去取 4.若是cookie里没有,则根 ...

  8. c语言多组输入字符,关于c语言中 scanf 对多行字符的输入问题

    如果想直接看解决办法,直接点击目录中的结果处 文章目录 前言: 问题: 原因: 尝试改进: 新问题: 原因: 最后解决办法: 思路: 结果 前言: 我想大家在做一些PTA题的时候,有的时候需要输入多行 ...

  9. 令博主崩溃的scanf函数-C语言

    目录 前言: 1.了解scanf().getchar()和putchar 2.scanf输入的奇怪现象 3.scanf格式对回车的处理 4.小谈一下: 5.格式对scanf的重要性 前言: 这篇博客的 ...

  10. c语言 scanf %e,C语言scanf函数详细解释

    函数:scanf 功能:执行格式化输入 用法:int scanf(char *format[,argument,...]); scanf()函数是通用终端格式化输入函数,它从标准输入设备(键盘) 读取 ...

最新文章

  1. 在IE6/7下表格td标签没有内容时不显示边框?
  2. 阿里百川IIMSDK-- 加好友,获取好友
  3. C# 十六进制字符串与数值类型之间转换
  4. 相见恨晚的 Python 内置库:itertools
  5. 关于内核态和用户态切换开销的测试
  6. PowerShell批量配置VM端点
  7. 每日一九度之题目1021:统计字符
  8. (day04)剑指 Offer 10- II. 青蛙跳台阶问题
  9. Linux音频驱动-IIS总线标准
  10. 用ABAP编程破解世界上最难数独游戏
  11. Centos7配置AirPrint(解决手机执行多次打印后搜索不到打印机的情况)
  12. UE4 下载4.11.2的时候:当前遇到连接问题,正在重试
  13. 大数据面试题——用shell打印200以内的质数
  14. 说一下反三角函数atan等的角度计算值,弧度制和角度制
  15. (补)地坛书市一逛!
  16. 解决Post请求中文乱码问题
  17. 马化腾曾在家搞四条电话线和8台电脑,做慧多网深圳站站长
  18. 干饭篇-西红柿炒鸡蛋+银耳红枣粥
  19. Java回文数代码(初学者易懂)
  20. OpenCV系列之轮廓属性 | 二十三

热门文章

  1. 计算机 发声原理,单片机的发声原理
  2. 吉利全球鹰熊猫CROSS
  3. WKT、SRID、EPSG概念
  4. 发那科机器人请关闭电源_FANUC机器人常见错误恢复步骤,你真的都会吗?
  5. HTML核心(3)-文本元素
  6. 杨辉三角金字塔c语言编程,scratch编程绘制数字金字塔(杨辉三角)
  7. 2022第七届少儿模特明星盛典 全国总决赛精彩直击
  8. RecyclerView 多条目
  9. 斐波纳契数列 1,1,2,3,5,8,13,21,34,55,89……这个数列则称为“斐波纳契数列”,其中每个数字都是“斐波纳契数”。
  10. 威纶触摸屏键盘不显示数字_威纶触摸屏功能键使用教程