C++ 解释出这个代码?
我是编程新手。我找不出输出不稳定的原因C++ 解释出这个代码?,c++,fibonacci,C++,Fibonacci,我是编程新手。我找不出输出不稳定的原因 0112385813213455 它不应该是011357等吗 首先,i=0so打印0(因为返回0),第二i=1so打印1(因为返回1),第三i=2so打印1因为(2-1)+(2-2)=1,第四i=3所以打印3因为(3-1)+(3-2)=3等等 请原谅我这个非常基本的问题。也许编程不适合我 #include <stdio.h> #include <stdlib.h> #define MAX 10 int i=
0112385813213455
它不应该是011357
等吗
首先,i=0
so打印0(因为返回0)
,第二i=1
so打印1(因为返回1)
,第三i=2
so打印1因为(2-1)+(2-2)=1
,第四i=3
所以打印3因为(3-1)+(3-2)=3
等等
请原谅我这个非常基本的问题。也许编程不适合我
#include <stdio.h>
#include <stdlib.h>
#define MAX 10
int i=12345;
double y=1.23456;
void display_variables()
{
double y=4.352;
printf("i=%d, y=%f\n", i,y);
}
int main()
{
printf("i=%d, y=%f\n", i,y);
display_variables();
int c,i=0;
for (c = 0; c <= MAX; c++)
{
printf("%d\n", fib(i));
i++;
}
return 0;
}
int fib(int n)
{
if ( n == 0 )
return 0;
else if ( n == 1 )
return 1;
else
return ( fib(n-1) + fib(n-2) );
}
#包括
#包括
#定义最大值10
int i=12345;
双y=1.23456;
void display_变量()
{
双y=4.352;
printf(“i=%d,y=%f\n”,i,y);
}
int main()
{
printf(“i=%d,y=%f\n”,i,y);
显示变量();
int c,i=0;
对于(c=0;c显然
fib(0) = 0,
fib(1) = 1,
fib(2) = fib(1) + fib(0) = 1,
fib(3) = fib(2) + fib(1)
= fib(1) + fib(0) + fib(1)
= 1 + 0 + 1
= 2
etc...
每个人都会犯错误,尤其是开始新的工作时,你需要耐心,你会发现自己的兴趣,但这不是(3-1)+(3-2)
是吗?!这是fib(3-1)+fib(3-2)<代码> >不要绝望,编程是有趣的!C++也不是最容易的语言!好学习!谢谢!!我明白它是怎么走的!!所以你可以回溯并使用最后一个等式的结果来把它插入下一个方程中: