Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 显示链接列表时出现运行时错误的原因可能是什么_C_Linked List_Runtime Error - Fatal编程技术网

C 显示链接列表时出现运行时错误的原因可能是什么

C 显示链接列表时出现运行时错误的原因可能是什么,c,linked-list,runtime-error,C,Linked List,Runtime Error,在指定位置插入新节点 } 由于head->next未初始化,因此在链接列表的末尾没有空终止符。这会导致未定义的行为 void insert(){ Node* nn; nn = (Node*)malloc(sizeof(Node)); printf ("Name: "); scanf ("%s", nn->name); nn->next = head; head = nn; return; } 由于head->next未初始化,因此在链接列表的末尾没有空终止符。这会导致未定

在指定位置插入新节点

}
由于head->next未初始化,因此在链接列表的末尾没有空终止符。这会导致未定义的行为

void insert(){
Node* nn;

nn = (Node*)malloc(sizeof(Node));

printf ("Name: ");
scanf ("%s", nn->name);

nn->next = head;
head = nn;

return;
}
由于head->next未初始化,因此在链接列表的末尾没有空终止符。这会导致未定义的行为

void insert(){
Node* nn;

nn = (Node*)malloc(sizeof(Node));

printf ("Name: ");
scanf ("%s", nn->name);

nn->next = head;
head = nn;

return;
}

无需预先分配头部节点;只需将其保留为NULL并继续执行插入循环。如前所述,您的insert被调用三次,但您有四个节点。希望这就是您想要的。我希望您可能会对此感兴趣:-您可能希望对头部使用静态分配。无需预先分配头部节点;只需将其保留为NULL并继续执行插入循环。如前所述,您的insert被调用三次,但您有四个节点。希望这是你想要的。这可能会引起你的一些兴趣,我希望:-你可能想使用静态分配的头部。
void insert(){
Node* nn;

nn = (Node*)malloc(sizeof(Node));

printf ("Name: ");
scanf ("%s", nn->name);

nn->next = head;
head = nn;

return;
}
/* In main() */

head = malloc(sizeof(Node));
head->next = NULL;