大佬求解 出错了 但我不知道为啥错了

weixin_44382508 2020-12-24 02:07:25
20 23 D:\C语言\SeqList.cpp [Error] expected primary-expression before ']' token
#include<stdio.h>
#include<stdlib.h>
#define sizemax 50
//void SeqList_creat(SeqList *&L,int array[],int n);
//void SeqList_Bulle(SeqList *&L,int n);
//void SeqList_output(SeqList *&L,int n);
typedef struct {
int date[sizemax];
int length;
}SeqList;

void SeqList_creat(SeqList *&L,int array[],int n);
void SeqList_Bulle(SeqList *&L,int n);
void SeqList_output(SeqList *&L,int n);

int main(){
SeqList *L=NULL;
int a[]={3,7,2,10,1};
int n=5;
L=SeqList_creat(L,a[],n); //这行错了 但我不知道啥原因 [Error] expected primary-expression before ']'
printf("排序前:\n");
SeqList_output(L,n);

return 0;
}

void SeqList_creat(SeqList *&L,int array[],int n)
{
int i=0;
L=(SeqList*)malloc(sizeof(SeqList));
for(i=0;i<n;i++)
{
L->date[i]=array[i];
}
L->length=n;
}

void SeqList_Bulle(SeqList *&L,int n)
{
int i,j,temp=0;
for(i=0;i<n-1;i++)
for(j=0;j<n-i-1;j++)
{
if(L->date[j]<L->date[j+1])
{
temp=L->date[j];
L->date[j]=L->date[j+1];
L->date[j+1]=temp;
}
}

}

void SeqList_output(SeqList *&L,int n)
{
int i;
printf("this list:\n");
for(i=0;i<n;i++)
{
printf("%d",L->date[i]);
}
}
...全文
105 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_44382508 2020-12-24
  • 打赏
  • 举报
回复
谢谢 我参考你的建议 已经解决我的问题了 谢谢
自信男孩 2020-12-24
  • 打赏
  • 举报
回复
函数是void类型的返回值,因此不能用L去接收函数的返回值。
自信男孩 2020-12-24
  • 打赏
  • 举报
回复
#include<stdio.h>
#include<stdlib.h>

#define sizemax 50

//void SeqList_creat(SeqList *&L,int array[],int n);
//void SeqList_Bulle(SeqList *&L,int n);
//void SeqList_output(SeqList *&L,int n);
typedef struct {
int date[sizemax];
int length;
}SeqList;

void SeqList_creat(SeqList *&L,int array[],int n);
void SeqList_Bulle(SeqList *&L,int n);
void SeqList_output(SeqList *&L,int n);

int main(){
SeqList *L=NULL;
int a[]={3,7,2,10,1};
//int n=5;
int n=sizeof(a)/sizeof(a[0]);
if (n > sizemax)
n = sizemax;
//L=SeqList_creat(L,a[],n); //这行错了 但我不知道啥原因 [Error] expected primary-expression before ']'
SeqList_creat(L, a, n); //这行错了 但我不知道啥原因 [Error] expected primary-expression before ']'
printf("排序前:\n");
SeqList_output(L,n);

return 0;
}

void SeqList_creat(SeqList *&L,int array[],int n)
{
int i=0;

L=(SeqList*)malloc(sizeof(SeqList));
for(i=0;i<n;i++)
{
L->date[i] = array[i];
}
L->length=n;
}

void SeqList_Bulle(SeqList *&L,int n)
{
int i,j,temp=0;
for(i=0;i<n-1;i++)
for(j=0;j<n-i-1;j++)
{
if(L->date[j]<L->date[j+1])
{
temp=L->date[j];
L->date[j]=L->date[j+1];
L->date[j+1]=temp;
}
}

}

void SeqList_output(SeqList *&L,int n)
{
int i;
printf("this list:\n");
for(i=0;i<n;i++)
{
printf("%d ",L->date[i]);
}
putchar(10);
}

供参考~

数组名是数组的首地址;

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧