Når det gjelder å løse problemer i dataprogrammering, er det mange teknikker tilgjengelig. En av disse er rekursjon, som er en prosess som innebærer å kalle en funksjon i seg selv.
Denne artikkelen vil utforske hvordan du implementerer rekursive funksjoner på programmeringsspråket C. Vi vil diskutere den grunnleggende syntaksen og strukturen til rekursive funksjoner, I tillegg til å gi et eksempel på hvordan de kan brukes til å løse vanlige programmeringsproblemer.
Hva er den rekursive funksjonen
I C -programmering, rekursiv funksjon er en funksjon som kaller seg under utførelsen. Det er gunstig å løse komplekse problemer som krever repeterende beregninger eller forgreningslogikk. Ved å dele et problem ned i mindre underproblemer som kan løses rekursivt, kan programmet komme frem til en løsning effektivt og elegant.
Følgende er to forutsetninger for å lage rekursjon I C -programmering:
Syntaks for rekursiv funksjon i C
Syntaksen til C rekursiv funksjon er gitt som:
return_type funksjon_name (parametere)
// Base Case
if (tilstand)
Returner noen_value;
// rekursiv sak
return Function_name (modified_parameters);
Her, return_type er datatypen for verdien returnert av funksjonen, funksjonsnavn er navnet på funksjonen, og parametere er inngangsparametrene som er gitt til funksjonen.
Funksjonen er først definert med en basesak som gir en termineringsbetingelse, og deretter en rekursiv sak som kaller funksjonen i seg selv med modifiserte inngangsparametere.
Hvordan bruke rekursiv funksjon i C
Når en rekursiv funksjon kalles, det setter av noe minne for å kjøre driften. Hvis tilstanden er oppfylt, overfører den resultatet tilbake til den forrige funksjonen, som også frigjør minnet det setter til side. Denne prosessen gjentar seg til funksjonen som startet det hele returnerer den endelige produksjonen. Men når kriteriene ikke blir oppfylt, vil funksjonen fortsette å ringe rekursive til det til slutt krasjer programmet.
Følgende er en enkel kode for å bruke rekursiv funksjon I C -programmering:
#inkludere
int factorial (int n)
// Base Case
if (n == 0)
retur 1;
// rekursiv sak
annet
return n * factorial (n-1);
int main ()
int num;
printf ("Skriv inn et ikke-negativt tall:");
scanf ("%d", & num);
printf ("factorial of %d er %d", num, factorial (num));
retur 0;
Ovennevnte kode ber brukeren om å oppgi et ikke-negativt heltall og beregner dets fabrikk ved hjelp av en rekursiv funksjon som heter Factorial (). Funksjonen sjekker først om basisaken er oppfylt (i.e., Hvis inngangen er 0), og returnerer 1 i så fall. Ellers kaller det seg med argumentet (n-1) til basisaken er oppfylt. Et endelig resultat er deretter returnert til Main () -funksjonen, som skriver den ut til konsollen.
Konklusjon
Rekursive funksjoner er en kraftig programmeringsteknikk for å løse problemer som krever gjentatt utførelse av lignende logikk. Imidlertid må de brukes nøye, ettersom de krever mer minne og tid enn inkrementelle programmer. Det er viktig å definere en basisbetingelse for rekursiv funksjon og sørg for at utgangstilstanden er oppfylt for å unngå en uendelig sløyfe. Ved hjelp av denne opplæringen har du nå god forståelse av hvordan du lager og bruker rekursive funksjoner i C -programmering.