while死循环问题-输入字符就会死循环

问题:

是否会遇到这样的问题,在while循环中 sanf("%d",&a);如果输入的不是数字,是字符就会进入死循环。

1


解决方案:
都是缓冲区惹的祸,输入字符后,字符会一直留在缓冲区,一直读取的是那个字符,所有会一直循环下去。
---------------------------------------------------


fflush(stdin); //清除缓冲,避免重复循环


--------------------------------------------------


在while循环前面加上这个就可以了。

posted @ 2015-03-04 10:51  Cizel丶攻城狮  阅读(321)  评论(0编辑  收藏  举报