【发布时间】:2010-09-08 08:45:21
【问题描述】:
我在一次采访中得到了这个问题。所以,在我看来,这似乎是一个混乱的斐波那契序列。和生成器,这给出了一个stackoverflow。因为if(n==0) should be if(n<3)(退出条件错误)。这个问题的准确答案应该是什么?预期的答案是什么?
foo (int n) {
if (n == 0) return 1;
return foo(n-1) + foo(n-2);
}
更新
这个递归函数有什么作用?
当你看到这 3 行代码时,你会推断出什么。没有调试。
【问题讨论】:
-
问题是什么?代码应该被调试吗?
-
“预期的答案是什么?”我们怎么知道?
-
我们无法知道预期的结果。我们只能说出合理的答案是什么样的。
-
猜猜精确答案是“这个函数无法计算斐波那契值。”