这个递归函数为什么会报错?

错误是[Error] ld returned 1 exit status


#include
int Fibonacci(int);
int mian()
{
    int t;
    scanf("%d",&t);
    t=Fibonacci(t);
    printf("%d",t);
    return 0;
} 
int Fibonacci(int n)
{
    int t; 
    if(n==0)t=0;
    else if(n==1)t=1;
    else if(n>=2)t=Fibonacci(n-1)+Fibonacci(n-2);
    return t;
}

main打错了,你这成了mian

该回答内容部分引用GPT,GPT_Pro更好的解决问题
这个错误是指在编译函数Fibonacci时,出现了一个错误,导致程序编译失败。出错原因可能是:

  1. 在第9行中,printf格式化字符串中的%d没有搭配变量t,应该改为 printf("%d", t);
  2. 第11行的int后有多余的空格,应该改为 int Fibonacci(int n)
  3. 第14行的int后有多余的空格,应该改为 int t;
  4. 第17行中的t应该改为tt,即return tt;

正确的代码如下:

#include <stdio.h>
 
int Fibonacci(int);
 
int main() {
    int t;
    scanf("%d", &t);
    t = Fibonacci(t);
    printf("%d", t);
    return 0;
}
 
int Fibonacci(int n) {
    int tt;
    if (n == 0) tt = 0;
    else if (n == 1) tt = 1;
    else if (n >= 2) tt = Fibonacci(n-1) + Fibonacci(n-2);
    return tt;
}

如果回答有帮助,望采纳。

main的拼写!