m0_52245314 2021-07-14 16:19 采纳率: 66.7%
浏览 31
已采纳

学生信息管理系统读取文件数据的函数

看到一位程序员的代码有点不懂,为什么前边已经打开文件并读取了,后面还要''把后者的内容拷贝到前者中'',这个步骤是为了什么

img

  • 写回答

2条回答 默认 最新

  • CSDN专家-link 2021-07-14 17:27
    关注

    因为nu,nam只是临时变量,在下次循环时数据会被冲掉,为了长期保存数据并在其它函数中能够使用,文件读取数据需要保存到全局的链表数据结构之中,因此从文件读取数据后,还需要将数据保存到链表数据结构中才行
    图片中的代码可以修改一下,不用临时变量中转一遍

    Linklist *n = (Linklist*)malloc(sizeof(Linklist));
    fscanf(fp,"这里省略,和图片中一样",n->data.num,n->data.name,&n->data.sex,&n->data.age,&n->data.score.c,&n->data.score,score_math,&n->data.score.english);
    ......
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已采纳回答 7月14日
  • 创建了问题 7月14日