请哪位高手给看看这个代码的错误怎么修改
#include<stdio.h>typedef int Status
typedef struct LNode
{
char data;
struct LNode *next;
}LNode,*LinkList;
Status InitList(LinkList L);
{
L=(char*)malloc(1*sizeof(LNode));
if(!L) exit (-2);
return 1;
}
Status ListInsert_L(LinkList &L,int i,char e)
{
p=L;
j=0;
while(p&&j<i-1)
{
p=p.next;
++j;
}
if(!p||j>i-1)
return 0;
s=(LinkList)malloc(sizeof(LNode));
s.data=e;
s.next=p.next;
p.next=s;
return 1;
}
Status ListDelete_L(LinkList &L,int i,char &e)
{
p=L;j=0;
while(p.next&&j<i-1)
{
p=p.next;
++j;
}
if(!(p.next)||j>i-1)
return 0;
q=p.next;
p.next=q.next;
e=q.next;
free(q);
return 1;
}
void main()
{
int n=1,a=1,b;
char f;
InitList(L);
while(n<=26)
{
ListInsert_L(L,n,n+96);
n++;
}
printf("如果你想插入一个字母请输入:"1";如果你想删除一个字母请输入:"0"");
scanf("%d",&b);
if(a==b)
{
printf("请输入你想要插入的位置:");
scanf("%d",&n);
printf("请输入你想要插入的字母:");
scanf("%c",&f);
ListInsert_L(L,n,f);
}
else
{
printf("请输入你想要删除的位置:");
scanf("%d",&n);
ListDletet_L(L,n,f);
}
}