程序错误
一个运行不了的问题typedef struct
{
datatype list[maxsize];
int size;
}seqlist;
void listinitiate(seqlist *l)
{l->size=0;
}
int listlength(seqlist l)
{return l.size;}
int listinsert(seqlist *l,int i,datatype x)
{int j;
if(l->size>=maxsize)
{printf("full!!\n");
return 0;
}else if(i<0||i>l->size)
{printf("i is illigule\N");
return 0;
}
else
{for(j=l->size;j>i;j--)l->list[j]=l->list[j-1];
l->list[i]=x;
l->size++;
return 1;}}
int listdelete(seqlist *l,int i,datatype *x)
{int j;
if(l->size<=0)
{printf("empty\n");
return 0;
}
else if(i<0||i>l->size-1)
{printf("i is illigule");
return 0;
}
else
{*x=l->list[i];
for(j=i+1;j<=l->size-1;j++)l->list[j-1]=l->list[j];
l->size--;
return 1;
}}
int listget(seqlist l,int i,datatype *x)
{if(i<0||i>l.size-1)
{printf("i is illigule\n");
return 0;
}
else
{*x=l.list[i];
return 1;
}}
#include <stdio.h>
#define maxsize 100
typedef int datatype;
#include"seqlist.h"
void main(void)
{
seqlist l;
int i,x,a[11]={1,2,3,4,5,6,7,8,9,10};
listinitiate(&l);
listinsert(&l,7,89);
listlength(seqlist l)
{
return l.size;
};
listdelete(&l,6,&x);
listget(seqlist l,8,datatype *k);
for(i=0;i<listlength(l);i++)
{if(listget(l,i,&m)==0{printf("wrong\n");
return;}
else printf("%d ",x);
}