C缓冲区(输入输出问题)

来源:互联网 发布:长征六号 知乎 编辑:程序博客网 时间:2024/05/30 20:08

之前做电子通讯录出现过一个问题,有“1,2,3”几个数字对应的功能供用户选择,但只要每次用户输入英文字母或者其他不适数字类的东西,通讯录就会崩溃,后来发现这个缓冲区有关。

scanf和printf都是行缓冲。若缓冲区内始终有不确定的内容,很容易对程序的稳定性造成影响。

所以后来写了个清除缓冲区的函数


函数很简单但是作用很大,每次在scanf等输入之前加上清空缓冲区函数可以确保每次缓冲区都很干净,不会读入乱七八糟的东西,用户之前输入的东西不会影响到下一次的输入。

另外

scanf的返回值是它能够成功读入的变量的个数,这里可以通过检测的返回值,来确定用户成功输入了几个满足要求的值。

printf的返回值时候它打印了多少个字符。

关于缓冲区的问题以后还会有更深入的学习,所以以后还会有更新~

0 0
原创粉丝点击