manyouzhe16 2021-12-13 23:50 采纳率: 100%
浏览 47
已结题

C语言编写酒店点菜系统(大一新生项目),从文件里读取字符串对数组进行赋值的时候出现了问题

现在使用C语言编写酒店点菜系统(大一新生项目),从文件里读取字符串对数组进行赋值的时候出现了问题。下面进行单步调试。
疑点:而且明明i还没自增,order[1].price却读到了值,而且是文件里第一行的2
求给上述疑点做出解释,或给出正确的代码。
下面为单步调试的截图

img

img

img


若需要可以发源代码

  • 写回答

1条回答 默认 最新

  • 关注

    fscanf读取数据的地方不对,如下图所示:

    img

    你order中的结构体是怎么定义的? name和price都是char数组吗?没有必要的,price可以用int类型
    如果结构体元素都是char数组,读取文件的地方修改如下:

    int i = 0;
    while(!feof(fp1))
    {
        fscanf(fp1,"%s%s\n",order[i].name,order[i].price); //注意\n不要漏了,不需要&
        if(strcmp(order[i].name,"")!=0) //避免读到空行
            i++;
    }
    
    

    如果price用int类型,代码修改如下:

    
    int i = 0;
    while(!feof(fp1))
    {
        fscanf(fp1,"%s%d\n",order[i].name,&order[i].price);
        if(strcmp(order[i].name,"")!=0) //避免读到空行
            i++;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 12月22日
  • 已采纳回答 12月14日
  • 修改了问题 12月13日
  • 修改了问题 12月13日
  • 展开全部

悬赏问题

  • ¥15 2024-五一综合模拟赛
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭