首页 新闻 会员 周边

scanf循环输入的问题,第二次输入发现数据丢失,字符串数组每两个字少一个字

0
悬赏园豆:50 [已解决问题] 解决于 2020-02-03 18:05

while(flag)
{
printf("请输入车辆型号:");
scanf("%s",info.vehicleModel);
printf("请输入厂商:");
scanf("%s",info.vendor);
printf("请输入车辆级别:");
scanf("%s",info.modelLevel);
printf("请输入座位数:");
scanf("%d",&info.deskNum);
printf("请输入排量:");
scanf("%lf",&info.quantity);
printf("请输入变速箱:");
scanf("%s",info.box);
printf("请输入车的颜色:");
scanf("%s",info.colour);
printf("请输入车辆价格:");
scanf("%lf",&info.price);
insertNodeByHead(list,info); //插入链表
printf("车辆型号\t厂商\t车辆级别\t座位数\t排量\t\t变速箱\t\t颜色\t价格\n");
printf("%s\t\t%s\t%s\t\t%d\t%lf\t%s\t\t%s\t%lf\n",info.vehicleModel,info.vendor,info.modelLevel,info.deskNum,info.quantity,info.box,info.colour,info.price);
printf("是否继续输入(1继续 0停止输入)?");
setbuf(stdin,NULL); //清除缓冲区
scanf("%d",&flag);
}

南宫真轩的主页 南宫真轩 | 初学一级 | 园豆:161
提问于:2020-02-03 13:53
< >
分享
最佳答案
0

把setbuf函数删掉就没事了

南宫真轩 | 初学一级 |园豆:161 | 2020-02-03 18:05
其他回答(1)
0

丢哪的数据也不会丢中间的啊, 建议debug看一下读到的东西, 而且我在我这里测试了下没这个问题

收获园豆:50
jakio6 | 园豆:1318 (小虾三级) | 2020-02-03 17:55

你好,解决了,是setbuf函数的问题

支持(0) 反对(0) 南宫真轩 | 园豆:161 (初学一级) | 2020-02-03 18:02
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册