This illustration of function calling and values may help😀
$$\mathbf{Fig: Tracing\; by\; tree\; method}$$ Now $f1(5),$ if we observe it increments $ ‘i\text{’}, n$ times so $f1(5)$ will return $5.$
Similarly, $f1(4)$ will increment $ ‘i\text{’}$ $4$ times but $ ‘i\text{’}$ being static (just one memory location for entire program run instead of different memory location across function calls), it′ll resume from its previous value of $5.$ So, $f1(4)$ returns $9\;[5+4]$
By the same logic $f1(3)$ will return $12\; [9+3],$
$f1(2)$ will return $14\; [12+2],$
$f1(1)$ will return $15\; [14+1].$
$\therefore$ Return value $i=55$ and hence $55$ is the output of $f2(5).$