void AppendList (Node *new_node, Node *head) {
Node *walker = head;
while (walker->next != NULL)
walker = walker->next;
walker->next = new_node;
}
当附加到链接列表时,我们的教授在幻灯片中写下了这段代码,他说这并不总是有效。你能解释一下为什么吗?
答案 0 :(得分:1)
您没有确定new_node->next == NULL
,至少在此代码中没有。
答案 1 :(得分:0)
在head == NULL
的情况下,您将在while (walker->next != NULL)
取消引用NULL指针,可能会导致程序崩溃。
您需要添加一个if语句来检查head是否为NULL。
答案 2 :(得分:0)
你应该在while循环之前添加一个条件来检查walker是NULL还是NOT。
if(walker==NULL)
{
head = new_node;
return;
}