В последнем уроке я рассказал вам о вызовах функций, т.е. о вызове по значению и вызове по ссылке . Сегодня я расскажу о последней дополнительной функции - рекурсии в C. Итак, давайте сразу же начнем с простого примера.
Это самый простой пример рекурсивной функции. Функция называется рекурсивной функцией, когда она вызывает себя. Выше вы можете видеть, что функция crashp () вызывает себя снова и снова.
Выход
Рекурсия в С
Это самый простой пример рекурсивной функции. Функция называется рекурсивной функцией, когда она вызывает себя. Выше вы можете видеть, что функция crashp () вызывает себя снова и снова.
Каким будет вывод вышеуказанной программы?
Как видите, функция crashp () вызывает себя снова и снова. Так что эта программа создаст бесконечный цикл, и он никогда не закончится. В этом случае нажмите Ctrl + PauseBreak, чтобы остановить выполнение.
Как видите, функция crashp () вызывает себя снова и снова. Так что эта программа создаст бесконечный цикл, и он никогда не закончится. В этом случае нажмите Ctrl + PauseBreak, чтобы остановить выполнение.
Примечание: довольно сложно показать работу рекурсивной функции. Поэтому я рекомендую вам сначала прочитать основные понятия функций, а затем продолжить. Работа рекурсивной функции полностью зависит от основных понятий.
Давайте возьмем другой пример рекурсивной функции для вычисления факториала числа.
Программа для факториала с использованием рекурсии на С
Выход
объяснение
1. Выполнение программы начинается с функции main (). Я уже назначил целочисленную переменную x со значением 5.
2. После этого я написал функцию printf ().
3. Внутри функции printf () я вызвал функцию factorial (), чтобы вычислить значение factorial.
4. Теперь функция factorial () будет вызывать себя до тех пор, пока значение x не выполнит это условие (x <= 1).
5. Тщательно продумайте оператор return функции factorial (), т.е. return x * factorial (x-1);
Это решит ответ таким образом 5 * 4 * 3 * 2 * 1 = 120
Источник изображения |
Довольно сложно понять выполнение рекурсивной функции. Но изучите вышеупомянутый урок как минимум 2-3 раза для лучшего понимания. Так что это подводит нас к концу функций. Теперь в следующем уроке я расскажу вам о расширенных типах данных.
Комментариев нет:
Отправить комментарий