wzzkk 发表于 2020-4-25 17:12:37

大神帮忙看看哪里出错了

#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0

#define MAXSIZE 20

#include<stdio.h>
#include<string.h>
typedef int ElemType;
typedef int Status;
typedef struct
{
    ElemType data;
    int length;
}SqList;

Status InitList(SqList L)
{
        memset(L.data, 0, sizeof(L));//初始化数据为0
        L.length = 0;                //初始化长度为0
        return 0;
}


Status Getlem(SqList L,int i,ElemType *e)
{
    if(L.length==0||i<1||i>L.length)
    {
      return ERROR;
    }
    *e = L.data;
    return OK;
}

Status ListInsert(SqList *L , int i, ElemType e)
{
    int k ;
    if(L->length==MAXSIZE)
    {
      return ERROR;
    }
    if(i<1||i>L->length+1)
    {
      return ERROR;
    }
    if(i<=L->length)
    {
      for(k=L->length-1;k>=i-1;k--)
      {
            L->data=L->data;
      }
    }
    L->data=e;
    L->length++;
    return OK;
}

Status ListDelete(SqList *L,int i,ElemType *e)
{
    int k;
    if(L->length==0)
    {
      return ERROR;
    }
    if(i<1||i>L->length)
    {
      return ERROR;
    }
    if(i<L->length)
    {
      for(k=1;k<L->length;k++)
      {
            L->data=L->data;
      }
      L->length--;
      return OK;
    }
}

Status main()
{
    int i;
    int j=5;
    int e;
    SqList L;
   InitList(L);
    while(1);
    {
      printf("1.插入 2.删除 3.获取");
      printf("请输入操作号");
      scanf("%d",&i);
      if(i==1)
      {
            ListInsert(&L,i,e);
      }
      if(i==2)
      {
            ListDelete(&L,i,&e);
      }
      if(i==3)
      {
            Getlem(L,i,&e);
      }
    }
    return 0;

}

老八秘制 发表于 2020-4-25 17:29:19

你这种把一大堆代码发上来让别人找错误的帖不可能有人回答

wzzkk 发表于 2020-4-25 17:30:36

本帖最后由 wzzkk 于 2020-4-25 17:32 编辑


wzzkk 发表于 2020-4-25 17:33:53

老八秘制 发表于 2020-4-25 17:29
你这种把一大堆代码发上来让别人找错误的帖不可能有人回答


只有主函数自己写的 其他的是看书上是对的 主函数怎么写
页: [1]
查看完整版本: 大神帮忙看看哪里出错了