первый раз i=4, (4-1)*4 =12 я так могу подумать взглянув на это, я что-то не так воспринимаю, то как оно работает не могу понять. Я ввёл i=4 , 4 не равно 1 , значит выполняет result=factorial(i-1)*i; метод вызывает сам себя передавая параметр уже 3, затем 3 не равно 1. опять вызывает сам себя передавая параметр 2, 2 не равно 1, ещё раз вызывает сам себя теперь 1=1 возвращает 1. Далее происходит возврат из метода и последовательно происходит умножение значений? 1*2*3*4. вот момент выражение result=factorial(i-1) *i. *i он каждый раз просто ждёт пока вернутся данные? в целом понятно, но хочется видеть как это происходит шаг за шагом
конечно ждет, это же вызов метода
f(4) => 4* f(3) => 4*3*f(2) => 4*3*2*f(1) => 4*3*2*1
Обсуждают сегодня