【发布时间】:2015-10-14 06:40:39
【问题描述】:
我的循环链接列表有问题。我相信问题出在我的显示功能上。请让我知道出了什么问题。我遇到的问题是显示前 n-1 个元素,然后出现分段错误(最后一个元素未显示,并且出现分段错误)。谢谢 :-)
#include<stdio.h>
#include<stdlib.h>
struct Node
{
int data;
struct Node* link;
};
struct Node* last = NULL;
void Insert_begin(int a)
{
struct Node* temp;
temp = malloc(sizeof(struct Node));
temp->data = a;
if (last == NULL)
last = temp;
else
{
temp->link = last->link;
last->link = temp;
}
}
void Display()
{
struct Node* temp;
if (last == NULL)
{
printf("list is empty");
}
temp = last->link;
while(temp!=last)
{
printf("%d\n",temp->data);
temp = temp->link;
}
printf("%d\n",temp->data);
}
int main()
{
Insert_begin(0);
Insert_begin(1);
Insert_begin(2);
Insert_begin(3);
Insert_begin(4);
Display();
return 0;
}
【问题讨论】:
-
'请让我知道出了什么问题':您没有进行任何调试。
-
是的!我需要学习调试。就要开始做了。谢谢
-
如果您有兴趣,还有一个完整的A Singularly Linked Circular Linked List 示例可能会很有用。
-
是的,当然!谢谢大卫。
标签: c linked-list