AC2656 2022-11-28 12:19 采纳率: 81.8%
浏览 27
已结题

C语言结构体的代码运行错误

写到一个结构体的题目,我在编译器上运行没问题,测试用例也是对的,但提交后显示
运行错误,不知道哪出错了。
题目网址:http://acm.zzuli.edu.cn/problem.php?id=1180
网站:ZZULIOJ 第1180题

#include <stdio.h>

struct ppp
{
    char num[15];
    char name[22];    
    int a, b, c;
    int sum;
};

int main(void)
{
    struct ppp stu[120];
    int n, i, max, remb;
    scanf("%d", &n);
    
    for (i = 0; i <= n - 1; i ++)
    {
        scanf("%s%s%d%d%d",stu[i].num, stu[i].name, 
                &stu[i].a, &stu[i].b, &stu[i].c);
        stu[i].sum = stu[i].a + stu[i].b + stu[i].c;
        if (stu[i].sum > max)
        {
            max = stu[i].sum;
            remb = i;
        }
    }
    
    printf("%s %s %d %d %d\n", stu[remb].num, stu[remb].name, 
            stu[remb].a, stu[remb].b, stu[remb].c);
    
    return 0;
}

运行结果:
Runtime Error:Segmentation fault
Segmentation fault:段错误,检查是否有数组越界,指针异常,访问到不应该访问的内存区域

希望找到错误的地方

  • 写回答

3条回答 默认 最新

  • hello_world&& 2022-11-28 12:46
    关注

    max没有初值。

    #include<stdio.h> 
    struct ppp
    {
        char num[15];
        char name[22];    
        int a, b, c;
        int sum;
    };
    int main(void)
    {
        struct ppp stu[120];
        int n, i, max, remb;
        scanf("%d", &n);
        for (i = 0; i <= n - 1; i ++)
        {
            scanf("%s%s%d%d%d",stu[i].num, stu[i].name, 
                    &stu[i].a, &stu[i].b, &stu[i].c);
            stu[i].sum = stu[i].a + stu[i].b + stu[i].c;
        }
        max=stu[0].sum;
        remb=0;
        for(i=1;i<n;i++)
        {
             if (stu[i].sum > max)
            {
                max = stu[i].sum;
                remb = i;
            }
        }
        printf("%s %s %d %d %d\n", stu[remb].num, stu[remb].name, 
                stu[remb].a, stu[remb].b, stu[remb].c);
        return 0;
    }
    
    
    
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月24日
  • 创建了问题 11月28日

悬赏问题

  • ¥20 关于web前端如何播放二次加密m3u8视频的问题
  • ¥20 spring boot集成mqtt的使用问题
  • ¥15 使用百度地图api 位置函数报错?
  • ¥15 metamask如何添加TRON自定义网络
  • ¥66 关于川崎机器人调速问题
  • ¥15 winFrom界面无法打开
  • ¥30 crossover21 ARM64版本安装软件问题
  • ¥15 mymetaobjecthandler没有进入
  • ¥15 mmo能不能做客户端怪物
  • ¥15 osm下载到arcgis出错