起归并作用的子函数为什么没有起作用
程序代码:
ist *merger(list *p1, list *p2) { list *head, *p; while (p1 != NULL || p2 != NULL) { int i{ 1 }; if (p1->num > p2->num) { if (i == 1) { p = head = p2; p2 = p2->next; } else { p->next = p2; p = p2; p2 = p2->next; } } else { if (i == 1) { p = head = p1; p1 = p1->next; } else { p->next = p1; p = p1; p1 = p1->next; } } if (p1 = NULL) { p->next= p2; } if (p2 = NULL) { p->next= p1; } i++; } return head; }建立了两个链表,让merger函数把传进来的两个链表按从小到大的顺序归并以个链表。为什么没有实现预期效果,求大神指导