Salve ragazzi sono nuovo del forum, volevo chiedere aiuto su un problema relativo al c++. Sono al primo anno di ingegneria, sto studiando le funzioni ricorsive e il professore per esercizio ha dato da scrivere una funzione che faccia uso della ricorsione per calcolare il fattoriale di un numero.

Io ho scritto:

unsigned int factorial(int n)
{
if(n==0) return 1;
int fattoriale_piu_piccolo=factorial(n-1);
int risultato=fattoriale_piu'_piccolo*n;
return risultato;
}

Il problema è che poi andando nella main e scrivendo:


int main()

{

int b:
cin>>b;
factorial(b);

return 0;
}

La funzione non mi ritorna assolutamente niente, solo il temo di esecuzione. In piu' se provo a scrivere, per controllare, cout<<risultato;

mi escono dei numeri assurdi del tipo 847358457848734 quando il numero immesso nel cin è un 3 o 4 di cui la funzione dovrebbe calcolare il banalissimo fattoriale.

Vi ringrazio in anticipo per le risposte