请问这个程序有什么错?


#include<stdio.h>
#define MAX 3
int a[MAX];
void main(){
    fun1(); fun2(a); printf("\n");
}
func1(){
    int k, t = 0;
    for (k = 0; k < MAX; k++, t++)a[k] = t + t;
}
func2(int b[]){
    int k;
    for (k = 0; k < MAX; k++)
        printf("%d", *(b + k))
        return 0;
}


```c++
#include<stdio.h>
#define MAX 3
int a[MAX];
void func1() {
    int k, t = 0;
    for (k = 0; k < MAX; k++, t++)a[k] = t + t;
}
int func2(int b[]) {
    int k;
    for (k = 0; k < MAX; k++)
        printf("%d", *(b + k));
        return 0;
}
void main() {
    func1(); func2(a); printf("\n");
}

```

问题多的很!
1.函数声明应在调用用之前!
你在main函数中调用func1和func2,应该把这两个函数得声明放在前面;

void func1();
void func2 () ;
int main()
{
func1();
func2();
}
//定义可以放在后面
void func1()
{

}
int func2()
{

}

2.你调用函数名时都写错了。好好学基础把


#include<stdio.h>
#define MAX 3
int a[MAX];
void func1(){
    int k, t = 0;
    for (k = 0; k < MAX; k++, t++) a[k] = t + t;
}
void func2(int b[]){
    int k;
    for (k = 0; k < MAX; k++)
        printf("%d", *(b + k));
}

int main(){
    func1(); func2(a); printf("\n");
    return 0;
}