我正在研究我大学的旧试卷,以便为即将到来的考试做准备。从最简单的问题到最复杂的问题,一切都很容易理解。但是,为了我的一生,我无法弄清楚以下一个。
class k{
static int g(int n) {
if (n==0){
return 1;
} else {
return 2*g(n-1);
}
}
public static void main(String[] args) {
System.out.println(g(3));
}
}
为什么此代码返回 8 作为答案。我知道它基本上是一个幂函数,其中输入的数字计算为 2 的该数字的幂,因此在这种情况下的答案是 8。但真正发生了什么。我不明白。有人可以用简单的英语解释一下吗?我真的很感激。
顺便说一句,这个问题只问输出是什么,而不是为什么。但如果我知道为什么会这样,我会感觉更舒服。
PS:人们以 5 为例给出答案的原因是我在上面的代码中错误地把 5 而不是 3 放在了上面,我现在已经更正了。