自从早上我一直在尝试修复此代码,但可以完成此操作。所以,最后我需要一些帮助来弄清楚错误。代码编译没有错误,但是当我从终端运行它,我得到一个错误说“segmetation错误:11”在单个链接列表的末尾插入元素
#include <stdio.h>
#include <stdlib.h>
struct Node{
int data;
struct Node *next;
};
struct Node *head;
void Insert(int data);
void Print();
int main()
{
head = NULL; //list is empty
Insert(3);
Insert(5);
Insert(2);
Insert(8);
Print();
return 0;
}
void Insert(int data)
{
struct Node *temp = malloc(sizeof(struct Node));
temp->data = data;
temp->next = NULL;
struct Node *temp1 = head;
while(temp1 != NULL)
{
temp1= temp1->next;
}
temp1->next = temp;
}
void Print()
{
struct Node *temp =head;
while(temp != NULL)
{
temp = temp->next;
printf("%d", temp->data);
}
}
缩进你的代码。 – gsamaras 2014-10-04 14:21:24
它崩溃了什么? – 2014-10-04 14:21:37
'temp1-> next = temp;':'temp1'为'NULL' – BLUEPIXY 2014-10-04 14:22:51