泫溯 2024-10-02 01:32 采纳率: 94.7%
浏览 8
已结题

数据结构问题求NULL指针问题


void DeleteList(CircleList L, int i)// 删除表中第i个元素
{
    CircleList head = (CircleList*)malloc(sizeof(CircleList));
    CircleList r = (CircleList*)malloc(sizeof(CircleList));
    head = L;
    r = head;
    int j = 0;

    while (r && (i - 1) > j)
    {
        r = r->next;
        j++;
    }
    CircleList m = (CircleList*)malloc(sizeof(CircleList));
        m= r->next;
        assert(m);
        r->next = m->next;
        free(m);
    L = head;
    printf("del ok\n");
}

这个函数总是运行不出来为什么呢?

  • 写回答

1条回答 默认 最新

  • threenewbee 2024-10-02 07:20
    关注

    CircleList m = (CircleList*)malloc(sizeof(CircleList));
    m= r->next;
    这里m分配了个寂寞,写反了吧
    应该是 r->next = m;

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月27日
  • 已采纳回答 10月19日
  • 创建了问题 10月2日