Buonasera ragazzi, ho un problema con la ricorsione, o meglio, non riesco proprio a capire il concetto di quest'ultima, se per esempio prendiamo questo codice:
#include <iostream>
using namespace std;
int factr(int n);
int main ()
{
//uso della versione ricorsiva
cout<< "4 fattoriale e' " << factr(4);
cout << "\n";
return 0;
}
//versione ricorsiva
int factr(int n){
int answer;
if(n==1) return (1);
answer= factr(n-1)*n;
return answer;
}
capisco che ogni volta che la funzione viene chiamata, associa ad 'answer' il valore di factr(n-1)*n, e quando l'argomento di factr diventa 1, la funzione ritorna il valore 1, ma poi non saprei come continua, qualcuno mi potrebbe dare una mano? grazie mille.