admin 管理员组

文章数量: 1087652

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

来源:

.html

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

上述描述似乎能够解决问题了,但是,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’。

本文标签: c语言清空scanf缓存 C语言清空输入缓冲区