void CreateList(List &L,int n){
for(int i=0;i<n;i++){
printf("请输入%d个元素的值:",i+1);
int e;
scanf("%d",&e);
L.elem[i]=e;
L.length+=1;
}
}
创建一个顺序的线性表,输入表的n个元素值,为什么输入是就运行不了??
List &L在哪里定义的是,是不是指针,有没有分配内存,其中elem数组有没有初始化,长度是否足够。
建议楼主贴上完整代码
首先你的代码是不完整的,结构体的定义不知道,create的入参 List &L,不知道能否这么用,还有L的传入的内存空间是外部传入的还是需要内部malloc申请的,需要确认清楚,我按照你的意思简单写了一下。
void CreateList(List L,int n){
int i = 0;
List pl = NULL;
pl = malloc(sizeof(struct List);
if(NULL == pl)
{
print("malloc fail.\r\n");
return;
}
memset(pl, 0, sizeof(struct List);
for(int i=0;i printf("请输入%d个元素的值:",i+1);
int e;
scanf("%d",&e);
pl->elem[i] = e;
pl->length += 1;
}
L = pl;
return ;
}