Mar. Ago 20th, 2019

Guida C: Funzioni ricorsive

Salve, oggi vi spiegherò una tecnica molto utilizzata in programmazione, ossia la ricorsività.
Una funzione ricorsiva è una funzione che invece di ritornare un valore al main, ritorna la funzione stessa.

Quindi per esempio creiamo un prototipo di funzione che vuole un parametro intero chiamato ‘a‘ e che la funzione abbia un tipo di ritorno ‘int‘.

int funzricorsiva(int a);

Questo quindi è il prototipo, ora andiamo a creare il main:

int main() {

int i = 5;

int j = funzricorsiva(i);

}


Creato il main ho dichiarato una variabile i con valore 5 e un’altra variabile J che accoglierà il valore di ritorno della funzione.

Adesso andiamo a creare il corpo della funzione:

int funzricorsiva(int a){

if (a == 0){

return a;

} else {

a–;

return funzricorsiva(a); }

}

Quindi come vedete nella funzione c’è una condizione.


Se ‘a’ sarà uguale a 0 allora il valore della variabile verrà ritornato al main (quindi j nel main avrà il valore di a (che sarà a sua volta 0))

Se invece a non è uguale a 0, finché rimarrà diversa da 0 allora ‘a’ diminuisce di 1 e invece di ritornare un valore al main, ritorna il nome della funzione stessa passandogli il parametro di cui ha bisogno.

In questo caso quindi “return funzricorsiva(a)

In questo modo la funzione ripartirà e farà questa operazione finché ‘a’ non sarà uguale a 0 e di conseguenza il valore potrà uscire dalla funzione e andare nel main (return a).

Questo era un esempio molto semplice di ricorsività, in programmazione esistono molti più usi complicati, basta solo avere un po’ di logica e la ricorsività delle funzioni sarà una utility molto importante!


Per ogni info riguardo la guida contattatemi su Lyone_official. Invece se avete altre guide da consigliare scrivetele al nostro Profilo Ufficiale, Draky00 o al nostro Bot Ufficiale per Limitati.

Risorse

Iscriviti tramite email

Inserisci il tuo indirizzo e-mail per iscriverti a HackTricks, e ricevere via e-mail le notifiche di nuovi post.

Unisciti a 5 altri iscritti