介绍
这篇文章给大家介绍如何在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
<强>然后我们清除缓存:强>
# 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()缓存就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。