while (scanf("%f%f",&x,&y))
{
scanf("%s",name);
p = (City *)malloc(sizeof(City));
if (p == NULL)
{
printf("分配内存失败\n");
exit(1);
}
p->cityX = x;
p->cityY = y;
strcpy(p->cityName, name);
r->next = p;
p->next = NULL;
r = p;
}
fflush(stdin);
当程序输入的不是浮点数的时候,跳出循环,那些数据是否还留着输入流中?
我用fflush(stdin)后,还是不能解决,在我输入其它内容之前,程序就跳过那一段过程了?
4 个解决方案
#1
if (p == NULL)
{
printf("分配内存失败\n");
exit(-1);//试试-1
}
#2
不行
#3
有人帮帮忙吗
#4
记得以前看到哪里写道
fflush(stdin)
并不是很好用。。。。。
fflush(stdin)
并不是很好用。。。。。
#1
if (p == NULL)
{
printf("分配内存失败\n");
exit(-1);//试试-1
}
#2
不行
#3
有人帮帮忙吗
#4
记得以前看到哪里写道
fflush(stdin)
并不是很好用。。。。。
fflush(stdin)
并不是很好用。。。。。