#include
#include
struct LinkList
{
int data;
struct LinkList next;
};
void CreatList_1(struct LinkList);
void PrintList(struct LinkList*);
int main()
{
struct LinkList *La;
CreatList_1(La);
PrintList(La);
return 0;
}
void CreatList_1(struct LinkList *head)
{
int i,n;
struct LinkList *p;
head=(struct LinkList *)malloc(sizeof(struct LinkList ));
head->next=NULL;
scanf("%d",&n);
for(i=0;i
{
p=(struct LinkList*)malloc(sizeof(struct LinkList));
scanf("%d",&p->data);
p->next=head->next;
head->next=p;
}
}
void PrintList (struct LinkList *head)
{
struct LinkList *p;
p=head->next;
while(p)
{
printf("%d ",p->data);
p=p->next;
}
printf("\n");
}
建立链表通过函数返回头结点,修改如下,供参考:
#include <stdio.h>
#include <stdlib.h>
struct LinkList
{
int data;
struct LinkList* next;
};
struct LinkList* CreatList_1(); //修改
//void CreatList_1(struct LinkList);
void PrintList(struct LinkList*);
int main()
{
struct LinkList *La;
La = CreatList_1(); //CreatList_1(La); 修改
PrintList(La);
return 0;
}
struct LinkList* CreatList_1()
//void CreatList_1(struct LinkList *head)
{
int i,n;
struct LinkList *head, *p; //修改
head=(struct LinkList *)malloc(sizeof(struct LinkList ));
head->next=NULL;
scanf("%d",&n);
for(i=0;i<n;i++)
{
p=(struct LinkList*)malloc(sizeof(struct LinkList));
p->next=NULL; //修改
scanf("%d",&p->data);
p->next=head->next;
head->next=p;
}
return head;
}
void PrintList (struct LinkList *head)
{
struct LinkList *p;
p=head->next;
while(p)
{
printf("%d ",p->data);
p=p->next;
}
printf("\n");
}
你这个create函数不行,得修改一下:
#include <stdio.h>
#include <stdlib.h>
struct LinkList
{
int data;
struct LinkList next;
};
struct LinkList * CreatList_1();
void PrintList(struct LinkList*);
int main()
{
struct LinkList * La = CreatList_1();
PrintList(La);
return 0;
}
void CreatList_1()
{
int i,n;
struct LinkList *head,*p;
head=(struct LinkList *)malloc(sizeof(struct LinkList ));
head->next=NULL;
scanf("%d",&n);
for(i=0;i<n;i++)
{
p=(struct LinkList*)malloc(sizeof(struct LinkList));
scanf("%d",&p->data);
p->next=head->next;
head->next=p;
}
return head;
}
void PrintList (struct LinkList *head)
{
struct LinkList *p;
p=head->next;
while(p)
{
printf("%d ",p->data);
p=p->next;
}
printf("\n");
}