c语言清空scanf缓存,C语言清空输入缓冲区

来源:http://blog.csdn.net/guanyasu/article/details/53153705

https://zhidao.baidu.com/question/5241738.html

C语言中如何清空输入输出缓冲区

4d337068a4863146725bb3b1f1794425.png

上述描述似乎能够解决问题了,但是,fflush( )并不是标准C语言库函数,只是部分编译器自己实现的函数,是对标准C的扩展。

先来看一段代码:

#include

int main()

{

int num;

char ch ;

scanf("%d", &num);

scanf("%c", &ch);

printf("hello world\n");

system("pause");

return ;

}

设想输入一个数字和一个字母,应该出现如下情况

1

a

hello world

但事实是下面的样子

1

hello world

-----------------------------

原因是:在输入回车(‘\n’)时,相当于输入了一个字符,这样缓冲区内就残留了一个‘\n’。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部