#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;
我制作了这个使用斐波那契方程的程序。但是我在编译过程中遇到以下错误:
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
我该如何解决??
最佳答案
在代码中更改 int a, b, c, n;
。
int a = 0, b = 1, c, n; /*Here you initialize the variables a to zero and b to one*/
您正在尝试访问变量 a
和 b
而未对其进行初始化。由于它们是局部变量,因此它们包含垃圾值。
当执行这一行c = a + b;
时,a
和b
的值是垃圾值,可能会改变代码行为显然会导致未定义的行为。
关于c - 如何制作斐波那契方程? (关于未初始化变量的错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32723757/