zsh669 2022-01-04 18:55 采纳率: 87.5%
浏览 130
已结题

在C语言读txt文件的数据时出现错误

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
#include <stdio.h>
struct student
{
    int ID;
    char name[10];
    int grade[3];
};
int getinputfromfile(char *filename,struct student *s,int maxnum)
{
    FILE* fp=fopen(filename,"r");
    if(fp==NULL){
        printf("error");
        return 0;
    }
    int i,j,k;
    for(i=0;i<maxnum;i++){
            if(feof(fp)){
                return i;
            }
            fscanf(fp,"%d",&(s + i)->ID);
            fscanf(fp,"%s",s[i].name);
            for(k=0;k<3;k++){
                fscanf(fp,"%d",&s[i].grade[k]);
                }
        }
    return maxnum;
}

int main()
{
    int n,maxnum;
    printf("请输入最大学生数:");
    scanf("%d",&maxnum); 
    struct student *s;
    n=getinputfromfile("test.txt",s,maxnum);
    printf("学生数为:"); 
    printf("%d",n);
}

运行结果及报错内容

调试到fscanf(fp,"%d",&(s + i)->ID);时开始出错

img

txt文件中的数据是
1
zz
22
22
33
2
ss
44
55
66
3
ee
77
8
8

我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

2条回答 默认 最新

  • 秋天的毛毛虫 2022-01-04 19:05
    关注
    struct student *s; 定义s时没有初始化内存。
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    1人已打赏
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月12日
  • 已采纳回答 1月4日
  • 创建了问题 1月4日

悬赏问题

  • ¥20 求解答(matlab)
  • ¥30 ffmpeg库使用过程中遇到的问题
  • ¥15 pyqt5 中python如何通过Qtwebchannel主动发消息给web前端
  • ¥15 关于HTML中title获取xml内容的问题
  • ¥15 fanuc机器人PRIO083数字信号未复原错误,如何解决?
  • ¥20 如何为现有电路板增加远程控制功能
  • ¥15 C#点击按钮的时候的循环次数就是最后一次,如何是循环第几次的值?
  • ¥15 UE5打包失败,求解决
  • ¥15 请问STM32G431的CANOPEN协议函数怎么写
  • ¥15 graphpad prism 三因素重复测定报错