Ciao.
Qualcuno mi potrebbe spiegare brevemente cos'è la ricorsione in C?
Grazie :rollo:
Ciao.
Qualcuno mi potrebbe spiegare brevemente cos'è la ricorsione in C?
Grazie :rollo:
E' una funzione che richiama se stessa.
int Funzione(int *param)
{
Funzione(*param);
}
la puoi usare al posto di un ciclo iterativo, anche se non conviene in quanto il dispendio di risorse è maggiore, cmq ecco un esempio
int Funzione(int Control, int *param)
{
Control++;
//COSE DA RIPETERE
if (Control < 50)
{
Funzione(Control, *param);
}
else
{
return;
}
Vedo che sei della mia stessa città
Comunque un'algoritmo si dice ricorsivo quando è definito richiamando se stesso.
Però per poter funzionare ha bisogno di una condizione d'uscita, ovvero la condizione limite di funzionamento logico dell'algoritmo, sennò richiama se stesso all'infinito.
Un esempio classico il fattoriale di un numero:
int fatt(int n,int a){
if(n>0)
return fatt(n-1,a*n);
else
return a;
} /* fatt */
La chiamata a se stessa permette di far avvicinare i parametri alla condizione d'uscita(n decrementa ogni volta finche non è uno, poi il programma si interrompe ritornando il valore del fattoriale).
Cmq puoi vedere la condizione limite è che n sia maggiore di 0, sennò il fattoriale nn si può fare.
Senza la condizione contiunerebbe a fare il "fattoriale", e il programma non terminerebbe mai.
Spero di essere stato chiaro