才学数据结构 为什么这个顺序表就错了呢?
程序代码:
#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); } 帮我看看吧