m0_61800796 2021-10-12 22:48 采纳率: 93.9%
浏览 33
已结题

c语言的链表相关问题

img

img

img


想问下为什么这样不对啊,一直输出0

  • 写回答

1条回答 默认 最新

  • qzjhjxj 2021-10-12 23:53
    关注

    修改如下,供参考对照:

    #include<stdio.h>
    #include<malloc.h>
    typedef struct student{
          int score;
          struct student *next;
    }list;
    struct student* create(){
        int i=0;
        struct student *head,*middle,*end;
        head = (list *)malloc(sizeof(list));
        head->next = NULL;
        middle = head;
        while(1){
              end = (list *)malloc(sizeof(list));
              end->next = NULL;
              printf("请输入第%d个学生的分数:",i+1);
              scanf("%d",&end->score);
              if(end->score == -1) break;   //-1 结束输入
              if(i==0)
              {
                  head->next = end;
              }
              else{
                  middle->next = end;
              }
              middle = end;
              i++;
        }
        free(end);
        return head;
    }
    void print(struct student *a)
    {
        struct student *p;
        p = a->next;
        while(p)
        {
            printf("%d ",p->score);
            p = p->next;
        }
        printf("\n");
    }
    
    int main()
    {
        list *p;
        p = create();
        print(p);
    
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月21日
  • 已采纳回答 10月13日
  • 创建了问题 10月12日

悬赏问题

  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作