Rekursion ist eine Methode, die sich selbst aufruft. Wenn in Programmiersprachen ein Programm den Aufruf einer Funktion innerhalb derselben Funktion ermöglicht, spricht man von einem rekursiven Aufruf einer Funktion.
void recursion() { recursion(); /* 函数调用本身 */ } int main() { recursion(); }
Die C-Sprache unterstützt Rekursion, also eine Funktion, die sich selbst aufruft. Bei Verwendung der Rekursion muss der Programmierer jedoch bei der Definition der Beendigungsbedingung der Funktion vorsichtig sein, da sie sonst in eine Endlosschleife gerät.
Rekursive Funktionen sind sehr nützlich für die Lösung vieler mathematischer Probleme, wie zum Beispiel die Berechnung der Fakultät einer Zahl, die Generierung von Fibonacci-Reihen usw.
Fakultät einer Zahl
Das folgende Beispiel verwendet Rekursion, um die Fakultätsfunktion einer bestimmten Zahl zu berechnen
#include <stdio.h> unsigned long long int factorial(unsigned int i) { if(i <= 1) { return 1; } return i * factorial(i - 1); } int main() { int i = 12; printf("Factorial of %d is %d\n", i, factorial(i)); return 0; }
Ausgabe:
Factorial of 12 is 479001600
Fibonacci-Reihe
Das folgende Beispiel verwendet eine rekursive Funktion, um eine Fibonacci-Reihe für eine gegebene Zahl zu generieren
#include <stdio.h>int fibonacci(int i) { if(i == 0) { return 0; } if(i == 1) { return 1; } return fibonacci(i-1) + fibonacci(i-2);}int main() { int i; for (i = 0; i < 10; i++) { printf("%d\t\n", fibonacci(i)); } return 0;}
Ausgabe:
0 1 1 2 3 5 8 13 21 34
Empfohlene verwandte C-Sprach-Video-Tutorials: „C-Tutorial“
Dieser Artikel ist eine Einführung in den rekursiven Algorithmus in C-Sprache. Ich hoffe, dass er für Freunde, die dies benötigen, hilfreich sein wird es. Hilfe!
Das obige ist der detaillierte Inhalt vonSo implementieren Sie einen rekursiven Algorithmus in der C-Sprache. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!