递归函数和内存堆栈之间是否存在直接关系,更多解释请考虑该代码:
public static int triangle(int n) {
System.out.println(“Entering: n = ” + n);
if (n == 1) {
System.out.println(“Returning 1”);
return 1;
} else {
int temp = n + triangle(n - 1);
System.out.println(“Returning“ + temp);
return temp;
}
}
在此示例中,值 2,3,4,5 将存储在哪里,直到函数返回?请注意,它们将在 LIFO(LastInFirstOut) 中返回,这些是处理内存堆栈的递归的特殊情况,还是它们总是一起出现?