prey♡ 2023-05-27 22:51 采纳率: 50%
浏览 53
已结题

求解为什么会报错expected ';', ',' or ')' before '{' token

为什么我把函数声明放在前面就会报错
用的是Dev-C++
报错说 [Error] expected ';', ',' or ')' before '{' token
直接把函数定义放在前面就运行没问题QAQ
有人帮忙解决一下疑问吗(悲)

#include<stdio.h>
#include<stdlib.h>
#include<stdbool.h>
#define Maxsize 10

typedef struct
{
    int* data;
    int length;
    int maxsize;
}SeqList;

void InitList(SeqList* L);
void DestroyList(SeqList* L;
int GetElem(SeqList L,int i);
int LocateElem(SeqList L,int e);
bool ListInsert(SeqList* L,int i,int e);
bool ListDelete(SeqList* L,int i,int* e);
void IncreaseSize(SeqList* L,int len);
bool Empty(SeqList L);
void PrintList(SeqList);
int Length(SeqList L);

int main()
{
    return 0;
}

void InitList(SeqList* L)
{
    L->data=(int*)malloc(sizeof(int)*Maxsize);
    L->length=0;
    L->maxsize=Maxsize;
}

void DestroyList(SeqList* L)
{
    free(L->data);
    L->data=NULL;
    L->length=0;
    L->maxsize=0;
}

int GetElem(SeqList L,int i)
{
    if(i<1||i>L.length)
        return 0;
    return L.data[i-1];
}

int LocateElem(SeqList L,int e)
{
    for(int i=0;i<L.length;i++)
    {
        if(L.data[i]==e)
            return i+1;
    }
    return 0;
}

bool ListInsert(SeqList* L,int i,int e)
{
    if(i<1||i<L->length+1)
        return false;
    if(L->length>=L->maxsize)
        return false;
    for(int j=L->length;j>=i;j--)
        L->data[j]=L->data[j-1];
    L->data[i-1]=e;
    L->length++;
    return true;
}

bool ListDelete(SeqList* L,int i,int* e)
{
    if(i<1||i>L->length)
        return false;
    *e=L->data[i-1];
    for(int j=i;j<L->length;j++)
        L->data[j-1]=L->data[j];
    L->length--;
    return true;
}

void IncreaseSize(SeqList* L,int len)
{
    int* p=L->data;
    L->data=(int*)malloc(sizeof(int)*(len+L->maxsize));
    for(int i=0;i<L->length;i++)
        L->data[i]=p[i];
    L->maxsize+=len;
    free(p);
}

bool Empty(SeqList L)
{
    return (L.length==0);
}

void PrintList(SeqList L)
{
    for(int i=0;i<L.length;i++)
        printf("L.data[%d]=%d\n",i,L.data[i]);
}

int Length(SeqList L)
{
    return L.length;
}



  • 写回答

2条回答 默认 最新

  • threenewbee 2023-05-27 23:03
    关注

    void DestroyList(SeqList* L;
    这里少了后括号

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月4日
  • 已采纳回答 5月27日
  • 创建了问题 5月27日

悬赏问题

  • ¥20 WPF MVVM模式 handycontrol 框架, hc:SearchBar 控件 Text="{Binding NavMenusKeyWords}" 绑定取不到值
  • ¥15 需要手写数字信号处理Dsp三个简单题 不用太复杂
  • ¥15 数字信号处理考试111
  • ¥100 关于#audobe audition#的问题,如何解决?
  • ¥15 allegro17.2生成bom表是空白的
  • ¥15 请问一下怎么打通CAN通讯
  • ¥20 如何在 rocky9.4 部署 CDH6.3.2?
  • ¥35 navicat将excel中的数据导入mysql出错
  • ¥15 rt-thread线程切换的问题
  • ¥15 高通uboot 打印ubi init err 22