ljh1046922652 2022-09-11 23:27 采纳率: 100%
浏览 49
已结题

链表打印轮到最后一个指向空指针的就该结束,可是不知道为什么进入死循环

img

img

img

头插法,最开始的链表头是指向的空指针没错啊,为什么本该循环到最开始的链表头那里就结束的循环会发生段错误,

  • 写回答

1条回答 默认 最新

  • qzjhjxj 2022-09-11 23:45
    关注

    createLink()函数是怎样的,上面图片看不到,不是打印输出的问题。
    问题出在 struct Test* createLink(struct Test* head) 函数里,做了修改,供参考:

    struct Test* createLink(struct Test* head)
    {
        struct Test* New;
        printf("HINT:Enter 0 End!\n");
        while (1){
             New = (struct Test*)malloc(sizeof(struct Test));
             New->next = NULL;  // 修改
             printf("imput your new to node data\n");
             scanf("%d",&New->data);
             if (New->data == 0){
                 free(New);
                 return head;
             }
             head = insertFromHead(head,New);
        }
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 9月18日
  • 已采纳回答 9月18日
  • 修改了问题 9月12日
  • 创建了问题 9月11日

悬赏问题

  • ¥15 使用yolov5-7.0目标检测报错
  • ¥15 对于这个问题的解释说明
  • ¥200 询问:python实现大地主题正反算的程序设计,有偿
  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败
  • ¥20 java在应用程序里获取不到扬声器设备