读书人

数据结构链表的一个小疑点

发布时间: 2012-04-01 17:23:46 作者: rapoo

数据结构链表的一个小问题
编译没错但是运行的时候程序都会出错

#include<stdio.h>
#include<malloc.h>
struct linklist
{
int data;
struct linklist *next;
};
linklist* init(void)
{
linklist *h;
linklist *s,*r;
int x;
h=NULL;
scanf("%d",&x);
while(x!=-1)
{
s=(linklist*)malloc(sizeof(linklist));
s->data=x;
if(h==NULL)
{h=s;}
else
r->next=s;
r=s;
scanf("%d",&x);
}
return h;
}

int main()
{
linklist *l;
linklist *h;
l=init();
h->next=l; //***
return 0;
}



出错语句是***标记的那个语句,想不明白为什么不能运行,因为上面有一句r->next=s都可以顺利运行的

[解决办法]
h都没初始化,你h->next有意义么?
[解决办法]
r->next=s;
这句也是一样。

读书人网 >C++

热点推荐