我正在学习递归,我运行了这个函数来跟踪"count"变量,看看它在递归过程中是如何变化的.在收到4串"你好"之后.在计数已经是0之后,我想要判断计数发生了什么.我发现它实际上是递增1,但我不知道为什么它会递增.为什么在将计数设置为0之后,计数会递增?在终止递归后,它是否恢复到其原始值?
public class Main {
public static void main(String[] args) {
sayHi(4);
}
public static void sayHi(int i) {
int count = i;
System.out.println(count);
if(count == 0) return;
System.out.println("hi!");
sayHi(count - 1);
System.out.println(count);
System.out.println("Hello.");
}
}
以下是代码的输出:
OUTPUT:
4
hi!
3
hi!
2
hi!
1
hi!
0
1
Hello.
2
Hello.
3
Hello.
4
Hello.