Трудно объяснять рекурсию. Попробую написать пошаговый сценарий, того, что происходит после вызова функции. Отступами показывается уровень погружения рекурсии. Итак, вызвали функцию и поехали (следите и по коду в том числе):
Код:
|
1. Записать в консоль 3.
2. Вызвать func( 2 )
2.1 Записать в консоль 2.
2.2 Вызвать func( 1 ).
2.2.1 Записать в консоль 1.
2.2.2 Вызвать func( 0 ).
2.2.2.1 закончить выполнение функции
2.2.3 Записать в консоль 1a
2.2.4 Закончить выполнение функции
2.3. Записать в консоль 2a
2.4 Закончить выполнение функции
3. Записать в консоль 3a
4. Закончить выполнение функции |