这是最后插入节点的代码。我在运行时没有收到任何错误,但它表明程序已停止工作。请告诉我我在这里弄糟了吗?
enter code here
#include <stdio.h>
#include <stdlib.h>
struct node{
int data;
struct node* next;
};
struct node* head;
void Insert(int data)
{
struct node* temp, *temp2;
temp=(struct node*)malloc(sizeof(struct node));
temp->data = data;
temp2 = head;
while(temp2 != NULL)
{
temp2 = temp2->next;
}
temp2->next = temp;
temp->next = NULL;
}
void print()
{
struct node* temp = head;
while(temp!=NULL)
{
printf("%d", temp->data);
}
printf("\n");
}
int main()
{
head = NULL;
Insert(1);
Insert(2);
Insert(3);
Insert(4);
Insert(5);
print();
return 0;
}
最佳答案
while(temp2 != NULL)
{
temp2 = temp2->next;
}
temp2->next = temp;
在此循环之后,
temp2
始终为NULL
。关于c - 链接列表-在C中列表末尾插入一个节点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35611785/