смотри, вот вызвалась фцнкция от 1 и внутри себя она вызывает себя же, но уже с 4,причем тот вызов ждет выполнения вызова 4, и 4 тоже вызовет что-то и т. д
потом все умрет, когда условие не выполнится и первый вызов пойдёт на след строку и распечатает 1 и дальше как по аналогии
главное мыслить как компилятор