- C/C++ code
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)后,还是不能解决,在我输入其它内容之前,程序就跳过那一段过程了?
------解决方案--------------------
- C/C++ code
if (p == NULL) { printf("分配内存失败\n"); exit(-1);//试试-1 }
------解决方案--------------------
记得以前看到哪里写道
fflush(stdin)
并不是很好用。。。。。