В рекурсивной функции, разработанной с использованием java, ниже.
public class Base {
public static void main(String[] arg) {
m1(4);
}
public static void m1(int num) {
if(num>=1) {
System.out.println("----A "+num);
return num*m1(num-1);
else {
return 1;
}
}
}
Здесь, при вызове m1 (num-1), как значение num присваивается num-1. Например, num = 4, в следующий раз значение num будет равно num = 3. Я имею в виду здесь, мы не будем назначать как num = 3, хотя мы вызываем функцию m1 (). При вызове функции m1 () она сохраняется в стеке, поэтому она становится f (3). Я могу понять, что. Но я запутался, как num-значение присваивается новому значению. Не могли бы вы объяснить?.