星域驰骋 发表于 2016-10-1 12:55:55

创建的顺序表在输入长度后就退出了

求解答谢谢
#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE100
#define OVERFLOW -1
#define OK 1
#define ERROR 0
typedef int ElemType;
typedef int Status;
typedef struct linklist
{
      ElemType *elem;
      int list_lentth;
      int list_size;
} Sqlist;
Sqlist *IntList_Sq(Sqlist *L)
{
      L=(Sqlist * ) malloc (MAXSIZE*sizeof(Sqlist));
      if(!L->elem)
                exit(0);
      L->list_lentth=0;
      L->list_size=MAXSIZE;
      return L;
}
voidCreatList(Sqlist*L,int n)
{
      int i;
      for (i=0;i<n;i++)
      {
                scanf ("%d",&L->elem);
      }

}
void List_print(Sqlist * L,int n)
{
      int i;
      for(i=0;i<n;i++)
      {
                printf ("%d ",L->elem);
      }
      printf ("\n");
}
int main()
{
      int n;
      Sqlist * L,*p;
      printf ("请输入你想创建的顺序表的长度:\n");
      scanf ("%d",&n);
      p=IntList_Sq(L);
      CreatList(p,n);
      List_print(p,n);
      return 0;
}
                                       

以下是执行结果:
$ ./a.out                     
请输入你想创建的顺序表的长度:
5
$

DarkSE 发表于 2016-10-6 09:07:09

p=IntList_Sq(L);
你这个L只是一个变量,没有实际的操作内存
页: [1]
查看完整版本: 创建的顺序表在输入长度后就退出了