No scusa a proposito di quelle return ho detto una "bischerata"![]()
Se non ce le metti, una volta conclusa una chiamata ricorsiva alla funzione verrebbero testate anche le condizioni successive e questo potrebbe darti problemi... si potrebbero evitare solo se si strutturasse quella sequenza di if con dei costrutti if then else if then else... come in genere faccio io in questi casi.