如何制作斐波纳契方程?(关于未初始化变量的错误)

Abd*_*dov 1 c

#include<stdio.h>

int main(void)
{
    int a, b, c, n;

    printf("What  Fibonacci number would you like?:");
    scanf("%d", &n);

    if (n == 0 || n == 1)
        return printf("%d", n);
    else
    for (c = 0; c < n; c++)
    {
        c = a + b;
        a = b;
        b = c;
    }
    printf("%d ", c);

return 0;
Run Code Online (Sandbox Code Playgroud)

}

我已经制定了使用Fibonacci方程的程序.但是我在编译期间遇到以下错误:

Error   1   error C4700: uninitialized local variable 'a' used  d:\computer programming c++\20150923\20150923\20150923-1.c  15  1   20150923
Error   2   error C4700: uninitialized local variable 'b' used  d:\computer programming c++\20150923\20150923\20150923-1.c  15  1   20150923
Run Code Online (Sandbox Code Playgroud)

我该怎么解决?

San*_*h A 6

int a, b, c, n;在代码中更改如下.

int a = 0, b = 1, c, n; /*Here you initialize the variables a to zero and b to one*/
Run Code Online (Sandbox Code Playgroud)

您正在尝试访问的变量a,并b没有对其进行初始化.由于它们是局部变量,因此它们包含垃圾值.

执行该线路时c = a + b;,的值ab是可改变的代码的行为方式,这显然会导致不确定的行为无用值.