#include <stdio.h>
main(){
int i;
while (!(i==1 || i==2 || i==3))
{
printf("Please...\n");
scanf("%d",&i);
printf("%d",i);
}
}
int i;
while (!(i==1 || i==2 || i==3))
{
printf("Please...\n");
scanf("%d",&i);
printf("%d",i);
}
}
以上程序,如果每次输入数字,就能正常运行,但是输入字符,就会发生死循环。修改办法如下:
#include <stdio.h>
main(){
int i;
while (!(i==1 || i==2 || i==3))
{
printf("Please...\n");
scanf("%d",&i);
printf("%d",i);
fflush(stdin);
}
}
int i;
while (!(i==1 || i==2 || i==3))
{
printf("Please...\n");
scanf("%d",&i);
printf("%d",i);
fflush(stdin);
}
}
