才学数据结构 为什么这个顺序表就错了呢?
程序代码:#include <stdio.h>
#include <malloc.h>
#define Maxsize 100
typedef int Datatype;
typedef struct{
Datatype data[Maxsize];
int length;
}Sqlist;
void Create_List(Sqlist *p,Datatype n){
int i;
p=(Sqlist *)malloc(sizeof(Sqlist));
for(i=0;i<n;i++){
scanf("%d",&(p->data[i]));
}
p->length=n;
}
void print_List(Sqlist *p){
Datatype i;
if(p->length==0)
printf("空表");
else{
for(i=0;i<(p->length);i++)
printf("%5d",p->data[i]);
}
}
void main(){
int a;
Sqlist *l=NULL;
do{
printf("进行的操作:\n");
printf("1.创建一个顺序表\n");
printf("2.查看创建的表\n");
printf("0.退出\n");
scanf("%d",&a);
switch(a){
case 1:printf("输入链表:\n");
Create_List(l,5);
printf("%d",(l->length));
break;
case 2:printf("链表为:\n");
print_List(l);
break;
case 0:exit(0);
}
}while(1);
}
帮我看看吧









