long f(int g)
{
switch (g)
{
case 0: return 0;
case 1:
case 2: return 1;
}
return (f(g - 1) + f(g - 2));
}
int main()
{
long k;
k = f(7);
printf("k= %d", k);
return 0;
}
就是不满足case时重复调用f函数
先调用f函数传入g-1,获得结果1,再调用f函数传入g-2,获得结果2,相加两个结果,作为调用f函数传入g时的返回值
这个题目有详细源码吗