这是无限的标准输入流么?
#include <stdio.h>
void main()
{
int t;
while(1)
{
printf("1-10:");
scanf("%d",&t);
if(t<1 || t>10)
{
printf("invalid input!\n");
continue;
}
//do_something()
break;
}
return;
}
如上代码,规范输入是没有问题的,一次调试中无意间按到了左方向键,屏幕上没有任何显示,然后再输入字符,按回车,就会陷入死循环,无限地输出 “1-10:invalid input!”。这是为什么啊,按了方向键为什么会产生无限的标准输入流?不然也不会死循环把,因为有scanf("%d",&t); C 调试
[解决办法]
缓冲没有清楚的问题。
请参考http://blog.csdn.net/mougaidong/article/details/6882345