#include <iostream>
using namespace std;
int main(){
int tmp,t,a[1000],count=0;
while((t=scanf("%d",&tmp)) != EOF){
if(!t)
//scanf函数接收整型数字要跳过所有非数字的字符专接收数字。那么如果输入了字符它就一直留在输入缓冲区;
//只要缓冲区有字符,scanf就要去读,一读不是数字,它就跳过。
fflush(stdin);//此函数可以清除缓冲区中的字符
else
a[count++] = tmp;
}
for(int i=0; i<count; i++){
cout<<i+1<<"***"<<a[i]<<endl;
}
return 0;
}
结果
通过第二幅图可以看到,scanf将”1 a 2 b 3 c”保存在缓冲区中读取,遇见字符a之后,调用fflush(stdin);函数,将缓冲区剩余的字符全部清除。