数据结构(c语言版)代码寻人修改
#include <stdio.h>#define error 0
#define ok 1
#define ml 5
typedef struct
{
int list[ml];
int size; /*当前线性表长度*/
int maxsize;
}sqlist;
void *init_list(sqlist *l,int m)
{
l=(sqlist *)malloc(m*sizeof(sqlist));
if(!l)
{
printf("error");
exit(1);
}
else
l->size=0;
l->maxsize=m;
return l;
}
void disp_list(sqlist *l)
{
int i;
for(i=0;i<l->size;i++)
printf("%d\t",l->list[i]);
printf("\n");
}
int insert_list(sqlist *l,int x,int i)
{
int j;
if(i<1||i>l->size+1) return error;
if(l->size>=ml) return error;
for(j=l->size-1;j>=i-1;j--)
l->list[j+1]=l->list[j];
l->list[i-1]=x;
l->size++;
return ok;
}
void main()
{
int p,n;
int x=1;
sqlist a,*b;
b=init_list(&a,ml);
printf("listaddr=%p\t size=%d\t maxsize=%d\n",b->list,b->size,b->maxsize);
while(1)
{
printf("\n请输入元数值,0为结束输入:");
scanf("%d",&x);
if(!x) break;
printf("请输入插入位子:")
insert_list(b.x,p);
printf("线性表:\n");
disp_list(b);
}
}
这代码有什么问题?修改的代码发过来哈!!