C Rekursion (rekursiv funktion)

Indholdsfortegnelse

I denne vejledning lærer du at skrive rekursive funktioner i C-programmering ved hjælp af et eksempel.

En funktion, der kalder sig selv, er kendt som en rekursiv funktion. Og denne teknik er kendt som rekursion.

Hvordan fungerer rekursion?

 ugyldig recurse () (… recurse ();…) int main () (… recurse (); …)

Rekursionen fortsætter, indtil en eller anden betingelse er opfyldt for at forhindre det.

For at forhindre uendelig rekursion, hvis … ellers udsagn (eller lignende tilgang) kan bruges, hvor en gren foretager det rekursive opkald, og andre ikke gør det.

Eksempel: Summen af ​​naturlige tal ved hjælp af rekursion

 #include int sum(int n); int main() ( int number, result; printf("Enter a positive integer: "); scanf("%d", &number); result = sum(number); printf("sum = %d", result); return 0; ) int sum(int n) ( if (n != 0) // sum() function calls itself return n + sum(n-1); else return n; ) 

Produktion

 Indtast et positivt heltal: 3 sum = 6

Oprindeligt sum()kaldes den fra main()funktionen med nummer bestået som argument.

Antag, værdien af ​​n indeni sum()er oprindeligt 3. Under det næste funktionsopkald sendes 2 til sum()funktionen. Denne proces fortsætter, indtil n er lig med 0.

Når n er lig med 0, ifmislykkes betingelsen, og elsedelen udføres, og returnerer summen af ​​heltal i sidste ende til main()funktionen.

Fordele og ulemper ved rekursion

Rekursion gør programmet elegant. Men hvis ydeevne er afgørende, skal du bruge sløjfer i stedet, da rekursion normalt er meget langsommere.

Når det er sagt, er rekursion et vigtigt begreb. Det bruges ofte i datastruktur og algoritmer. For eksempel er det almindeligt at bruge rekursion i problemer som træpasning.

Interessante artikler...