Показать сообщение отдельно
  #2 (permalink)  
Старый 30.05.2012, 10:47
Аватар для GuardCat
Просто любитель
Отправить личное сообщение для GuardCat Посмотреть профиль Найти все сообщения от GuardCat
 
Регистрация: 13.09.2011
Сообщений: 300

Трудно объяснять рекурсию. Попробую написать пошаговый сценарий, того, что происходит после вызова функции. Отступами показывается уровень погружения рекурсии. Итак, вызвали функцию и поехали (следите и по коду в том числе):

Код:
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. Закончить выполнение функции
Ответить с цитированием