首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

这是无限的标准输入流么?解决办法

2013-08-04 
这是无限的标准输入流么?#include stdio.hvoid main(){int twhile(1){printf(1-10:)scanf(%d,&t)

这是无限的标准输入流么?

#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

热点排行