我没有得到此代码的任何输出。
SinglyLinkedListNode* insertNodeAtTail(SinglyLinkedListNode* head, int data)
{
struct SinglyLinkedListNode* temp=(SinglyLinkedListNode*)malloc(sizeof(SinglyLinkedListNode));
struct SinglyLinkedListNode* prev;
temp->data=data;
temp->next=NULL;
if(head==NULL)
{
head=temp;
return;
}
prev=head;
while(prev->next!=NULL)
{
prev=prev->next;
}
prev->next=temp;
return ;
}
您的函数显然必须返回列表的开头,但您不必返回它
在
you need to replace
return
byreturn temp;
, and it is useless to assign head在
you need to replace
return
byreturn head;
当然,调用者必须使用返回值更新列表头,例如
在这种情况下,即使从第二个呼叫重新分配l也没有用