首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

怎么清空输入流

2012-03-17 
如何清空输入流C/C++ codewhile (scanf(%f%f,&x,&y)){scanf(%s,name)p (City *)malloc(sizeof(City

如何清空输入流

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)
并不是很好用。。。。。

热点排行