哪位高手看看此程序有什么问题?谢谢大家!
#include<stdio.h>#include<malloc.h>
#include<stdlib.h>
#define NULL 0
#define data size
#define Len sizeof(struct LLnode)
typedef struct LLnode
{
int data;
struct LLnode *next;
}*Lnode;
typedef Lnode LLink;
LLink Init_Link()
{
LLink p;
p=(Lnode)malloc(Len);
if(!p) return 0;
p->size=0;
p->next=NULL;
return p;
}
int Get_L(LLink L,int e)
{
Lnode q;
q=(Lnode)malloc(Len);
if(!q) return 0;
q->data=e;
q->next=L->next;
L->next =q;
L->size++;
return 1;
}
int Output_L(LLink L)
{
LLink p,q;
int i=L->size;
p = L->next ;
q = Init_Lilk();
if(i==0) return 0;
while(i>0)
{
Get_L(q,p->data);
p=p->next ;
i--;
}
if(!p) return 0;
p=q;
q=q->next ;
free(p);
i=q->size ;
while(i>0)
{
printf("%d",q->data);
if(q->next) printf(",");
p=q;
q=q->next;
free(p);
}
if(i == 0) {free(q);return 1;}
return 0;
}
main()
{
LLink LL;
int e;
char a=',';
LL=Init_Link();
while(a==',')
{
scanf("%d",&e);
Get_L(LL,e);
a=getchar();
}
Output_L(LL);
return 0;
}