主题:请求帮助,链表问题
#include<stdio.h>
#include<stdlib.h>
enum{ERROR=0,OK=1};
typedef struct LinkList
{
int data;
struct LinkList*next;
}LinkList;
int CreateList(LinkList *L)
{
int i;
L=(LinkList*)malloc(sizeof(LinkList));
L->next=NULL;
/*逆序创建链表L*/
for(i=0;i<4;++i)
{
LinkList*p=(LinkList*)malloc(sizeof(LinkList));
p->data=i+1;
p->next=L->next;
L->next=p;
}
return OK;
}
/*链表的输出*/
void print(LinkList*L){
LinkList *p=L->next;
int e;
while(p){
e=p->data;
printf("%d ",e);
p=p->next;
}
printf("\n");
}
int main(void)
{
/*创建链表LA*/
LinkList*La;
CreateList(La);
printf("输入LA:");
print(La);
/*创建LB链表*/
LinkList*Lb;
CreateList(Lb);
printf("\n输入Lb:");
print(Lb);
return 0;
}
为什么输出总是提示我错误,而且当我把CreateList(LA)的内容在main()函数中展开时,为什么又好使了!请求帮助啊!。。
这个CreateList到底错在哪?
#include<stdlib.h>
enum{ERROR=0,OK=1};
typedef struct LinkList
{
int data;
struct LinkList*next;
}LinkList;
int CreateList(LinkList *L)
{
int i;
L=(LinkList*)malloc(sizeof(LinkList));
L->next=NULL;
/*逆序创建链表L*/
for(i=0;i<4;++i)
{
LinkList*p=(LinkList*)malloc(sizeof(LinkList));
p->data=i+1;
p->next=L->next;
L->next=p;
}
return OK;
}
/*链表的输出*/
void print(LinkList*L){
LinkList *p=L->next;
int e;
while(p){
e=p->data;
printf("%d ",e);
p=p->next;
}
printf("\n");
}
int main(void)
{
/*创建链表LA*/
LinkList*La;
CreateList(La);
printf("输入LA:");
print(La);
/*创建LB链表*/
LinkList*Lb;
CreateList(Lb);
printf("\n输入Lb:");
print(Lb);
return 0;
}
为什么输出总是提示我错误,而且当我把CreateList(LA)的内容在main()函数中展开时,为什么又好使了!请求帮助啊!。。
这个CreateList到底错在哪?