带数组的fibonacci c-规划

带数组的fibonacci c-规划,c,C,我正在写一个C程序,用迭代函数输出斐波那契数。我想使用一个包含斐波那契数的数组 程序给了我错误的斐波那契值,我看不出有任何错误 请帮忙 这是我的程序: #include <stdio.h> int fibonacciL(int unsigned value){ int i; const int MAX = value; int fibo[MAX]; fibo[0]=0; fibo[1]=1;

我正在写一个C程序,用迭代函数输出斐波那契数。我想使用一个包含斐波那契数的数组 程序给了我错误的斐波那契值,我看不出有任何错误

请帮忙 这是我的程序:

    #include <stdio.h>
    
    int fibonacciL(int unsigned value){
    int i;
    const int MAX = value;
    int fibo[MAX];
    
    fibo[0]=0;
    fibo[1]=1;
    
        for(i=2;i<value+1;i++)
        {
        fibo[i]= fibo[i-1] + fibo[i-2];
        return fibo[value];
        }
    }
    
    int main(){
    int value;
    printf("Iterativ Fibonacci\n");
    printf("Enter a Number:");
    scanf("%d", &value);
    printf("For the number %d the value is: %d\n",value,fibonacciL(value));
    return 0;
}
#包括
int fibonacciL(int无符号值){
int i;
常量int MAX=值;
int fibo[MAX];
fibo[0]=0;
fibo[1]=1;
对于(i=2;i
  • 您为数组
    fibo
    分配的元素比所需元素少一个
  • 在计算之前,您返回了
    fibo[value]
int fibonacciL(int无符号值){
int i;
常量int MAX=值;
int fibo[MAX+1];/*再分配一个元素,使fibo[value]可用*/
fibo[0]=0;
fibo[1]=1;

对于(i=2;iouu),我忽略了这一点,抱歉,感谢您的快速回复
int fibonacciL(int unsigned value){
    int i;
    const int MAX = value;
    int fibo[MAX+1]; /* allocate one more element so that fibo[value] become available */
    
    fibo[0]=0;
    fibo[1]=1;
    
    for(i=2;i<value+1;i++)
    {
        fibo[i]= fibo[i-1] + fibo[i-2];
    }
    return fibo[value]; /* move this to right place */
}