|
发表于 2004-3-4 11:11:33
|
显示全部楼层
scanf 出问题吧
帮助这样说的:
Scanning stops when an input character does not match such a format character. Scanning also stops when an input conversion cannot be made.
当输入一个字符时,
scanf("%d", a)发现当前的不为一个数字,它就不处理,直接到下一个语句,但刚才输入的字符还在"stdin stream"中,并没有清空.所以循环到下一次scanf时,它发现"stdin stream"里还有东西,所以他没有停下来等待用户输入又继续搞下去......这样就死循环了.
解决办法,当输入为非数字时,清空"stdin stream"就可以了. |
|