A co jest z nim nie tak? Wszystko się wykonało prawidłowo :)
Dokładniej mówiąc:
-> Wykonał się pierwszy if(n<3) i została wywołana funkcja f(n+2), czyli f(3)
-> Pierwszy if nie został spełniony, funkcja nie została wywołana
-> Drugi if(n<5) został spełniony i została wywołna funkcja f(n+3), czyl f(6)
-> Żaden if nie został spełniony, wydrukowało 6
-> Powrót do poprzedniej funkcji, wydrukowało 3
-> Wykonał się drugi if(n<5) i została wywołana funkcja f(n+3), czyli f(4)
-> Pierwszy if(n<3) nie został spełniony
-> Drugi if(n<5) został spełniony i została wywołana funkcja f(n+3), czyli f(7)
-> Żaden if się nie spełnił, wydrukowało 7
-> Wydrukowało 4
-> Wydrukowało 1
PS. Zagnieżdżenie strzałki mówi które to wywołanie funkcji ;)