鱼C论坛

 找回密码
 立即注册
查看: 2021|回复: 3

大神们,帮我看看主函数和代码哪里错了?纯小白

[复制链接]
发表于 2022-10-22 18:07:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #define Maxsize 50
  4. typedef int ElemType;
  5. int length;
  6.         int l,i,e;
  7.         typedef struct
  8.         {
  9.                 ElemType data[Maxsize];                  //存放线性表中的元素
  10.                 int length;                              //存放线性表的长度
  11.         }SqList;                                     //顺序表类型
  12.                                //建立顺序表      CreateList(&L,a[n],n)
  13.         void CreateList(SqList*&L,ElemType a[],int n)//由a中的n个元素建立顺序表
  14.         {
  15.                 int i=0,k=0;                             //k表示L中元素的个数,初始值为0
  16.                 L=(SqList*)malloc(sizeof(SqList));       //分配存放线性表的空间
  17.                 while(i<n)
  18.                 {
  19.                         L->data[k]=a[i];                     //将元素a[i]存放在L中
  20.                         k++;i++;
  21.                 }
  22.                 L->length=k;     //设置L的长度为k
  23.                 L->length=0;       
  24.         }
  25.                                   //初始化线性表   InitList(&L)
  26.         void InitList(SqList*&L)
  27.         {
  28.                 L=(SqList*)malloc(sizeof(SqList));//分配存放线性表的空间
  29.                 L->length=0;                       //置空表长度为0   
  30.         }
  31.                                   //销毁线性表     DestroyList(&L)
  32.         void DestroyList(SqList*&L)
  33.         {
  34.                 free(L);                           //释放L所指的顺序表空间
  35.         }
  36.                                   //判断线性表是否为空   ListEmpty(L)
  37.         bool ListEmpty(SqList *L)
  38.         {        return (L->length==0);}
  39.                               //求线性表的长度       ListLength(L)
  40.     int ListLength(SqList*L)
  41.         {
  42.                 return (L->length);
  43.         }
  44.                                   //输出线性表          DispList(L)
  45.         void DispList(SqList*L)
  46.         {
  47.                 for(int i=0;i<L->length;i++)
  48.                         printf("%d",L->data[i]);
  49.                 printf("\n");
  50.         }
  51.                                  //按序号求线性表的元素   GetElem(L,i,&e)
  52.         bool GetElem(SqList*L,int i,ElemType &e)
  53.         {
  54.                 if(i<1||i>L->length)
  55.                         return false;
  56.                 e=L->data[i-1];
  57.                 return true;
  58.         }
  59.                                //按元素值查找          LocateElem(L,e)
  60.         int LocateElem(SqList*L,ElemType e)
  61.         {
  62.                 int i=0;
  63.                 while(i<L->length&&L->data[i]!=e)
  64.                         i++;
  65.                 if(i>L->length)
  66.                         return 0;
  67.                 else
  68.                         return(i+1);
  69.         }
  70.                           //插入数据元素          ListInsert(&L;i;e)
  71.         bool ListInsert(SqList*&L,int i,ElemType e)
  72.         {
  73.                 int j;
  74.                 if(i<1||i>L->length+1||L->length==Maxsize)
  75.                         return false;
  76.                 i--;
  77.                 for(j=L->length;j>i;j--)
  78.                         L->data[i]=e;
  79.                     L->length++;
  80.         }
  81.                          //删除数据元素        ListDelete(&L;i;&e)
  82.         bool ListDelete(SqList*&L,int i,ElemType &e)
  83.         {
  84.                 int j;
  85.                 if(i<1||i>L->length)
  86.                         return false;
  87.                 i--;
  88.                         e=L->data[i];
  89.                 for(j=i;j<L->length-1;j++)
  90.                         L->data[j]=L->data[j+1];
  91.                 L->length--;
  92.                 return true;
  93.         }

  94.         void main()
  95.        
  96.         { CreateList;
  97.         InitList(&L);
  98.         DestroyList(&L);
  99.     ListEmpty(L);
  100.         ListLength(L);
  101.         DispList(L);
  102.         GetElem(L,i,&e);
  103.     LocateElem(L,e);
  104.         ListInsert(&L,i,e);
  105.         ListDelete(&L,i,&e);}
复制代码
显示是下面主函数InitList(&L)error C2065: 'L' : undeclared identifier
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-10-22 18:08:28 | 显示全部楼层
大神们,带一带小白吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-22 18:30:03 From FishC Mobile | 显示全部楼层
        说指针 L 没定义,定义一下再看看呢。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-27 17:23:10 | 显示全部楼层
你的main函数里没有L这个变量的声名,拿它当参数调用函数肯定不行啊,
是不是第6行全局变量这里有问题     int l,i,e;   把这个 ‘l’  改成大写的试试
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-5-11 12:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表