So verwenden Sie eine rekursive Funktion in C

So verwenden Sie eine rekursive Funktion in C

Wenn es darum geht, Probleme bei der Computerprogrammierung zu lösen, stehen viele Techniken zur Verfügung. Eine davon ist Rekursion, Dies ist ein Prozess, bei dem es darum geht, eine Funktion in sich selbst aufzurufen.

In diesem Artikel wird untersucht, wie rekursive Funktionen in der C -Programmiersprache implementiert werden können. Wir werden die grundlegende Syntax und Struktur von diskutieren rekursive Funktionen, Außerdem geben Sie ein Beispiel dafür, wie sie verwendet werden können, um häufige Programmierprobleme zu lösen.

Was ist die rekursive Funktion?

In C -Programmierung die rekursive Funktion ist eine Funktion, die sich während seiner Ausführung aufruft. Es ist vorteilhaft, komplexe Probleme zu lösen, die sich wiederholende Berechnungen oder Verzweigungslogik erfordern. Indem ein Problem in kleinere Unterprobleme, die rekursiv gelöst werden können.

Das Folgende sind zwei Voraussetzungen zum Erstellen Rekursion In C -Programmierung:

  1. Eine Ausstiegsbedingung: Diese Bedingung hilft der Funktion, zu bestimmen, wann sie beendet werden sollen. Ohne Ausgangsbedingung kann der Code eine unendliche Schleife eingeben.
  2. Den Zähler ändern: Der Zähler sollte mit jedem Aufruf auf die Funktion geändert werden.

Syntax für die rekursive Funktion in C

Die Syntax von C rekursive Funktion wird gegeben als:

return_type function_name (parameter)
// Basisfall
if (Zustand)
Rückgabe einige_Value;

// rekursiver Fall
return function_name (modified_parameters);


Hier, return_type ist der Datentyp des Wertes, der von der Funktion zurückgegeben wird, Funktionsname ist der Name der Funktion und Parameter sind die an die Funktion übergebenen Eingabeparameter.

Die Funktion wird zuerst mit einem Basisfall definiert, der eine Kündigungsbedingung liefert, und dann einen rekursiven Fall, der die Funktion selbst mit modifizierten Eingabeparametern aufruft.

So verwenden Sie eine rekursive Funktion in C

Wenn ein rekursive Funktion wird genannt, es legt einen Speicher beiseite, um seine Operationen auszuführen. Wenn die Bedingung erfüllt ist, übergibt sie das Ergebnis zurück an die vorherige Funktion, wodurch auch der Speicher, den es beiseite gelegt hat. Dieser Vorgang wiederholt sich immer wieder, bis die Funktion, mit der alles gestartet wurde, seine endgültige Ausgabe zurückgibt. Wenn die Kriterien jedoch nicht erfüllt sind, wird die Funktion weiterhin rekursive Anrufe tätigen, bis sie schließlich das Programm abstürzt.

Das Folgende ist ein einfacher Code für die Verwendung des rekursive Funktion In C -Programmierung:

#enthalten
int factorial (int n)
// Basisfall
if (n == 0)
Rückkehr 1;

// rekursiver Fall
anders
return n * factorial (n-1);


int main ()
int num;
printf ("Geben Sie eine nicht negative Nummer ein:");
scanf ("%d", & num);
printf ("Fakultät für %d ist %d", num, factorial (num));
Rückkehr 0;


Der obige Code fordert den Benutzer auf, eine nicht negative Ganzzahl einzugeben, und berechnet sein Fakultät mit einer rekursiven Funktion namens Fakultät(). Die Funktion überprüft zuerst, ob der Basisfall erfüllt ist (i.e., Wenn die Eingabe 0 ist) und 1 zurückgibt, wenn ja. Andernfalls ruft es sich mit dem Argument (N-1) auf, bis der Basisfall erfüllt ist. Anschließend wurde ein Endergebnis zur Main () -Funktion zurückgegeben, die es in die Konsole druckt.

Abschluss

Rekursive Funktionen sind eine leistungsstarke Programmierungstechnik zur Lösung von Problemen, die eine wiederholte Ausführung ähnlicher Logik erfordern. Sie müssen jedoch sorgfältig verwendet werden, da sie mehr Speicher und Zeit benötigen als inkrementelle Programme. Es ist wichtig, einen Grundzustand für die zu definieren rekursive Funktion und stellen Sie sicher, dass der Ausgangszustand erfüllt ist, um eine unendliche Schleife zu vermeiden. Mit Hilfe dieses Tutorials haben Sie jetzt ein gutes Verständnis dafür, wie Sie rekursive Funktionen in der C -Programmierung erstellen und verwenden können.