如何在C语言中清除scanf()缓存

  介绍

这篇文章给大家介绍如何在C语言中清除scanf()缓存,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

C语言是什么

C语言是一门面向过程的,抽象化的通用程序设计语言,广泛应用于底层开发,使用C语言可以以简易的方式编译,处理低级存储器。

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

void  safe_flush (FILE  * fp)   {   ,int  ch;   ,而(,(=ch 获取(fp)), !=, EOF ,,, ch  !=, & # 39; \ n # 39;,),,,,,,   }

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

scanf (“% d",和k);   safe_flush (stdin);

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

<强>(3)案例演示

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

# include   # include   int  main ()   {   ,int  k;   ,printf(“请输入你的秘钥:(整数)“);   ,scanf (“% d",和k);   ,char  c;   ,printf(“请输入一个字符:“);=,c 获取字符();   ,printf (“% d “k);   ,printf (“% c “c);   }

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

如何在c语言中清除scanf()缓存

<强>然后我们清除缓存:

# include   # include//用于清除回车键缓存的影响   void  safe_flush (FILE  * fp)   {   ,int  ch;   ,而(,(=ch 获取(fp)), !=, EOF ,,, ch  !=, & # 39; \ n # 39;,);   }   int  main ()   {   ,int  k;   ,printf(“请输入你的秘钥:(整数)“);   ,scanf (“% d",和k);   ,safe_flush (stdin);   ,char  c;   ,printf(“请输入一个字符:“);=,c 获取字符();   ,printf (“% d “k);   ,printf (“% c “c);   }

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

如何在C语言中清除scanf()缓存

关于如何在C语言中清除scanf()缓存就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

如何在C语言中清除scanf()缓存