要求输入整数,但输入了一个字母或符号,程序陷入死循环,怎么办?求解
我在网上查了一下这个问题,但我并不想用fflush(stdin),用while(getchar()!='\n')也不管用,
还有没有别的办法啊。。。
请那个大家可以留言。
感谢 #include <stdio.h>
#include <stdlib.h>
#include <string.h>
main(void)
{
char buf ;
int n ;
for(;;) {
printf("input a integer please : ") ;
fgets(buf , 80 , stdin) ;
if(sscanf(buf , "%d" , & n) == 1) break ;
else printf("input error !\n") ;
}
printf("n = %d\n" , n) ;
}
jackz007 发表于 2019-4-7 00:46
这位朋友,可以讲一下吗。。。
那个为什么用fgets() jackz007 发表于 2019-4-7 00:46
十分感谢,我明白了
页:
[1]