读书人

请大家帮小弟我看下这个有关问题

发布时间: 2012-05-11 12:55:37 作者: rapoo

请大家帮我看下这个问题。
#include<stdio.h>
#include<stdlib.h>
#define N 20;
struct Link
{
int data;
struct Link *next;
};
int main(void)
{

struct Link *creatLink(void);
struct Link *Head;
Head = creatLink();
while (Head != NULL)
{
printf("%d ", Head->data);
Head = Head->next;
}
return(0);
}
struct Link *creatLink(void)
{
struct Link*head,*p,*q;
int n=N;
p=(struct Link*)malloc(sizeof(struct Link));
head=p;
while(n>0)
{
q=(struct Link*)malloc(sizeof(struct Link));
p->data=20-n;
p->next=q;
p=q;
n--;
}
p->next=NULL;
return(head);
}
这个链表没有封装好吗?
输出的时候末尾多了一个随机数,我觉得没有地方错啊,请大家帮我看下,谢谢。

[解决办法]
n=1的时候,q申请了空间,q的next指向了null,但q的data没有赋值

读书人网 >C语言

热点推荐