问题:
是否会遇到这样的问题,在while循环中 sanf("%d",&a);如果输入的不是数字,是字符就会进入死循环。
解决方案:
都是缓冲区惹的祸,输入字符后,字符会一直留在缓冲区,一直读取的是那个字符,所有会一直循环下去。
---------------------------------------------------fflush(stdin); //清除缓冲,避免重复循环
--------------------------------------------------
在while循环前面加上这个就可以了。
时间: 2024-10-29 19:06:31