Jak używać funkcji rekurencyjnej w C

Jak używać funkcji rekurencyjnej w C

Jeśli chodzi o rozwiązywanie problemów w programowaniu komputerowym, dostępnych jest wiele technik. Jeden z nich jest rekurencja, który jest procesem obejmującym wywołanie funkcji w sobie.

W tym artykule zbadano, jak wdrożyć funkcje rekurencyjne w języku programowania C. Omówimy podstawową składnię i strukturę funkcje rekurencyjne, Oprócz tego, jak można je wykorzystać do rozwiązania typowych problemów programistycznych.

Jaka jest funkcja rekurencyjna

W programowaniu C, funkcja rekurencyjna jest funkcją, która wywołuje się podczas wykonywania. Jest to korzystne dla rozwiązywania złożonych problemów, które wymagają powtarzających się obliczeń lub logiki rozgałęzionej. Przekładając problem na mniejsze podproblemy, które można rozwiązać rekurencyjnie, program może dojść do rozwiązania skutecznie i elegancko.

Poniżej znajdują się dwa warunki do tworzenia rekurencja W programowaniu C:

  1. Warunek wyjścia: Ten warunek pomaga funkcji określić, kiedy wyjść. Bez stanu wyjścia kod może wprowadzić nieskończoną pętlę.
  2. Zmiana licznika: Licznik należy zmienić przy każdym wywołaniu funkcji.

Składnia dla funkcji rekurencyjnej w C

Składnia C funkcja rekurencyjna jest podawany jako:

return_type function_name (parametry)
// Przypadek podstawowy
if (warunek)
zwróć trochę_value;

// Przypadek rekurencyjny
return funkcja_nazwa (modyfikowane_parameters);


Tutaj, return_type to rodzaj danych wartości zwróconej przez funkcję, funkcja_nazwa to nazwa funkcji, a parametry są parametry wejściowe przekazane do funkcji.

Funkcja jest najpierw zdefiniowana z podstawowym przypadkiem, który zapewnia warunek zakończenia, a następnie przypadek rekurencyjny, który wywołuje samą funkcję ze zmodyfikowanymi parametrami wejściowymi.

Jak używać funkcji rekurencyjnej w C

Kiedy funkcja rekurencyjna jest wywoływane, odkłada na bok pamięć, aby uruchomić swoje operacje. Jeśli warunek jest spełniony, przekazuje wynik z powrotem do poprzedniej funkcji, która również uwalnia odłożoną pamięć. Proces ten wciąż się powtarza, dopóki funkcja, która się rozpoczęła. Jednak gdy kryteria nie zostaną spełnione, funkcja będzie nadal wykonywać wywołania rekurencyjne, dopóki ostatecznie awansuje do programu.

Poniżej znajduje się prosty kod do użycia funkcja rekurencyjna W programowaniu C:

#włączać
int tractor (int n)
// Przypadek podstawowy
if (n == 0)
zwrot 1;

// Przypadek rekurencyjny
w przeciwnym razie
powrót N * Factorial (N-1);


int main ()
int num;
printf („Wprowadź liczbę nie wymagającą:”);
Scanf („%d” i num);
printf („Factorial of %d to %d”, num, factoral (num));
powrót 0;


Powyższy kod skłania użytkownika do wprowadzenia nieujemnej liczby całkowitej i oblicza jego czynnik za pomocą funkcji rekurencyjnej o nazwie silnia(). Funkcja najpierw sprawdza, czy przypadek podstawowy jest spełniony (i.mi., Jeśli wejście to 0) i zwraca 1, jeśli tak. W przeciwnym razie wzywa się z argumentem (n-1), aż do spełnienia podstawy. Następnie ostateczny wynik został zwrócony do funkcji Main (), która drukuje ją do konsoli.

Wniosek

Funkcje rekurencyjne to potężna technika programowania do rozwiązywania problemów, które wymagają powtarzającego się wykonywania podobnej logiki. Muszą być jednak używane ostrożnie, ponieważ wymagają więcej pamięci i czasu niż programy przyrostowe. Ważne jest, aby zdefiniować stan podstawowy dla funkcja rekurencyjna i upewnij się, że stan wyjścia jest spełniony, aby uniknąć nieskończonej pętli. Za pomocą tego samouczka dobrze rozumiesz, jak tworzyć i wykorzystywać funkcje rekurencyjne w programowaniu C.