我想写入1 2 3 4 5 6 7 8 9 0,这10个数字到数组中,但只按一次回车键,而不是按10次回车键,应该怎么做?
for(int i=0;i<10;i++)
{
scanf("%d",&a[i]);//这里有问题,不是直接一排读取的而是需要按下回车一个一个读取。
fflush(stdin);
}
删掉fflush(stdin);
这样不行吗?
fflush(stdin)是清空缓存,所以你写了这个以后,数据还没读完,你输入到缓存的数据就被清空了,因此将它删掉
for(int i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
把第4行去掉,然后你直接输入10个数字,中间用空格分隔,最后按回车键就可以完成了。
输入的10个数会在输入缓存里,fflush(stdin);是清空缓存,你只要不清空,scanf会自动从输入缓存里读取下一个整数的