为什么结果会是这个样子?
void creat(sqlist *L)
{
int i,j;
printf("\n n=");
scanf("%d",&(L->last));
for(i=1;i<=L->last;i++){
printf(" data=");
scanf("%d",&(L->data[i-1]));
}
}
void print(sqlist *L)
{
int i,j;
if(L->last==0)
printf("The List is empty!");
else{
for(i=1;i<=L->last;i++)
printf(" %d ",L->data[i-1]);
}
}
int lenght(sqlist L)
{
return (L.last);
}
int getelem(sqlist *L,int i,DataType e)
{
if(i<0||i>L->last){
printf("\n not exist!");
return (-1);}
else{
e=L->data[i-1];
return e;
}
}
int insert(sqlist *L,int i,DataType x)
{
int j;i--;
if(L->last==MAXSIZE){
printf("\n error!!\n");
return (-1);
}
if(i<0||i>L->last+1){
printf("\n error!!\n");
return (-1);}
else{
for(j=L->last-1;j>=i;j--)
L->data[j+1]=L->data[j];
L->data[i]=x;
L->last++;
return 1;
}
}
int loction(sqlist *L,DataType x)
{
int i=0;
while(i<=L->last-1&&L->data[i]!=x)
i++;
if(i>L->last-1) return -1;
else return i;
}
void Delete(sqlist *L,int i)
{
int j;i--;
if(i<0||i>L->last-1)
printf("\n not exist!");
else{
for(j=i;jlast-1;j++)
L->data[j]=L->data[j+1];
L->last--;
}
}