Believe In Yourself883 2022-08-31 22:11 采纳率: 60%
浏览 23
已结题

关于#野指针#的问题,如何解决?

ListNode Union(ListNode A, ListNode B) {
Node *p,*q,*r,*s,*o;
ListNode t;
ListNode D = (ListNode)malloc(sizeof(ListNode));
D->next = NULL;
r=D;
p=A->next;
q=B->next;
t=intersection(A,B);
o=t->next;
while(p!=NULL) {
s = (ListNode)malloc(sizeof(ListNode));
s->data=p->data;
s->next=r->next;
r->next=s;
r=s;
p=p->next;
}

while(q) {
    while(o) {
        if(q->data==o->data) break;
        o=o->next;
    } 
    
    if(!o) {
        s = (ListNode)malloc(sizeof(ListNode));
        s->data=q->data;
        s->next=r->next;
        r->next=s;
        r=s;
    }
    o=t->next;
    q=q->next;
}

return D;

}
为啥出现野指针了

  • 写回答

2条回答 默认 最新

  • 私房菜 优质创作者: 移动开发技术领域 2022-09-01 09:49
    关注

    其他看着还行,
    t=intersection(A,B);
    o=t->next;
    这里有可能出现野指针,你确认下

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月9日
  • 已采纳回答 9月1日
  • 创建了问题 8月31日