【发布时间】:2018-07-23 15:18:18
【问题描述】:
我只想调用一次递归函数。我像对静态变量一样尝试了它,但它抛出了一个错误。有人可以提出解决方案吗?
说我有函数recur(int j):
void recur(int x){
if(x==0)
return;
//want x to be xth fibnocci number,but only at initialization.
x=fib(x);
cout<<x<<" ";
recur(x-1);
}
recur(5) 的输出应该是 {5,4,3,2,1} 而不是 {5,3,1}。 我只想在函数内部做。
【问题讨论】:
-
为什么不把
fib(x)传递给recur(fib(x))这样的函数呢?这是该变量的起始值应该存在的地方 -
注释掉这一行
x=fib(x);
标签: c++ function recursion static