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

问题:

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

1


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


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


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


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

你可能感兴趣的:(while)