Problem in call stack flow


if we are printing in increasing order then bhaiya said first we are calling then we are printing okay but if the value of n ==0 then it is returing, now i want to know the next step how it will print the value of n,because at value of f(1),f(2)f(3)… what it will return and how it will print the value of n. The code goes here

when we call print(2) lets say we ll reach print(1)
which will first call print(1-1) and then print 1
here print(1-1 i.e 0) will return nothing and we ll print 1 and return
the call foes back to print (2) where print(1) printed 1 and now we ll print 2
use debug points and debug for some sample test case , you ll get it more clearly