70,023
社区成员




scanf("%*s"); //'\n'被跳过,此时输入流中已经没有内容了。要输入流中提取一个字符串并抛弃,等待着你提供更多输入
你的scanf("%*s")语句的问题。
当你输入1空格0后,开始执行while循环体中的语句,printf("!");
然后scanf("%*s")等待你的输入。完成后在执行下条printf语句。
你这种方法貌似不能达到清空缓冲流中的非法输入的目的吧。。
double x,y;
while((scanf("%lf%lf",&x,&y)!=2)||x==0||y==0)
{
printf("!");
scanf("%*s");//输入缓存回车
printf("?");
}
scanf("%*s");
想干啥?