各位瞅瞅这程序是不是有毛病

img

img
这是一个动态链表的删除节点函数。
请看第二张我画圈那一行。 head变量只是形式参数,根本不是实参。写个head=p1->next;根本没有意义啊。明明应该想办法搞个指向原链表的表头head的指针,假设叫p_head,把这函数的参数列表改一下,再在函数里写*p_head = p1->next;啊。难道是我没学明白指针和函数吗?

没啥问题,因为p1这里是要删除的节点,如果要删除的节点是头结点,那么head直接指向第二个节点就可以了
注意这个函数返回的是head,是头结点,是要你自己利用函数返回值去把外部保存的头结点修改的