问下各位高手下面这个程序错在哪,要怎么改?

来源:百度知道 编辑:UC知道 时间:2024/06/02 18:54:19
#include<stdio.h>
void main() {
int n,j;

int f(int i){
if (i==1 || i==2)
return 1;
else
return f(i-1)+f(i-2);
}
scanf("%d",&n);
for (j=1;j<=n;j++){
printf("%d\t",f(j));
} }
要把void main() 放在前面应该怎么该?

#include<stdio.h>

int f(int i){
if (i==1 || i==2)
return 1;
else
return f(i-1)+f(i-2);
}

void main() {
int n,j;

scanf("%d",&n);
for (j=1;j<=n;j++){
printf("%d\t",f(j));
}
}

main在前

#include<stdio.h>

int f(int);

void main() {
int n,j;

scanf("%d",&n);
for (j=1;j<=n;j++){
printf("%d\t",f(j));
}
}

int f(int i){
if (i==1 || i==2)
return 1;
else
return f(i-1)+f(i-2);
}