C语言这个程序出现[Error] expected constructor, destructor, or type conversion before 'void'?

#include <stdio.h>
#define MAX 200
main()
void invfun(int[],int)
{int a[MAX],n,i;
printf("输入n:\n");
scanf("%d",&n);
printf("输入%d个数:\n");
scanf("%s",&a[i]);
invfun(a,n);
printf("%d",a[n]);
}

第1个回答  2022-12-22
这个错误的意思是在定义函数 invfun() 前面缺少了函数的返回类型。在 C 语言中,函数的定义必须包含函数的返回类型,例如 int、float 等。
下面是修改后的代码:
#include <stdio.h>
#define MAX 200
void invfun(int[],int); // 函数声明
int main() // main() 函数必须有返回值
{
int a[MAX],n,i;
printf("输入n:\n");
scanf("%d",&n);
printf("输入%d个数:\n");
scanf("%s",&a[i]);
invfun(a,n);
printf("%d",a[n]);
return 0; // main() 函数应该有一个返回值
}
void invfun(int a[],int n) // 函数定义
{
// 函数体
}
需要注意的是,在 C 语言中,main() 函数是程序的入口,必须有一个返回值。追问

现在显示[Error] ld returned 1 exit status
应该怎么办啊?

第2个回答  2022-12-22
你这个代码到处是语法错误啊,而且代码风格也太糟糕了。与其一个一个问,还真不如换书呢
几个非常明显得错误
a) main():不满足main函数正确得函数原型要求
b) void invfun(int[],int)放在main函数之后是一个严重得语法错误,无心回答不够完整
c) invfun没有定义本回答被网友采纳
相似回答
大家正在搜