#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)
我该怎么解决?
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;,的值a和b是可改变的代码的行为方式,这显然会导致不确定的行为无用值.