顺式线性表初始化和打印数据

在下面这段代码中哪错了?目的是输入数据到顺式线性表中,并打印出线性表数据。
#include
#include
#include
#define MAX 20
struct student
{
int age[20];
//char name[10];
int d;
int size;
};
void init(struct student* L)
{
L->d=0;
L->size=MAX;
}
void shuru(struct student* L)
{
int ag;
//char name[10];
//scanf("%d %s",&age,name);
scanf("%d",&ag);
while(ag!=0)
{
L->age[L->d]=ag;
// L->name=name;
//for(int i=0;i<=strlen(name)-1;i++)
//L->name[i]=name[i];
L->d++;
//scanf("%d %s",&age,name);
scanf("%d",&ag);
}
printf("\n");
}
void traverse(struct student* L)
{
int i=0;
while(id)
{
//printf("%d %s",L->age,L->name);
printf("%d",L->age[i]);
i++;
}
printf("\n");
}

int main()
{
struct student* L;
init(L);
shuru(L);
traverse(L);
return 0;
}

0

3个回答

struct student* L;
指针使用之前一定要保证有空间。需要先mallo一个空间。

-1
 L根本就没有初始化。
struct student* L;
L = (struct student *)malloc(sizeof(struct student));

1

楼上说的是对的,你根本没有用malloc分配空间

1
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!