Void і Рекурсія
Тип повернення void у C
У мові програмування C функції, які оголошені з певним типом повернення, повинні містити оператор return, що повертає значення відповідного типу. Однак існують ситуації, коли функція не повинна нічого повертати — наприклад, якщо вона лише виводить текст на екран. У таких випадках функцію слід оголошувати з типом void.
Main.c
12345678910#include <stdio.h> void func() { printf("This function returns nothing\n"); } int main() { func(); return 0; }
Ключове слово void вказує, що функція не повертає значення, і також може використовуватися у контексті вказівників. Спроба оголосити змінну типу void призведе до помилки, оскільки компілятор не зможе визначити, скільки пам'яті виділити.
Main.c
1234567#include <stdio.h> int main() { void variable; return 0; }
Рекурсія
Мова C підтримує можливість функції викликати саму себе, що називається рекурсією.
Уявіть рекурсію як дію розтягування та відпускання гумки. Зазвичай використовується у математичних операціях, наприклад, для обчислення факторіалів.
Факторіали часто застосовуються для наближення значень функцій шляхом розкладання цих функцій у ряд Тейлора або Маклорена.
Main.c
1234567891011121314151617181920#include <stdio.h> int factorial(int n) { // if n = 0 or 1, because 0! = 1 and 1! = 1 if (n == 0 || n == 1) return 1; // recursion case else return n * factorial(n - 1); } int main() { int n = 3; printf("factorial(%d) = %d\n", n, factorial(n)); return 0; }
У контексті рекурсії функція буде продовжувати викликати саму себе, доки не буде виконано умову n == 0 || n == 1. Коли ця умова задовольняється, результати наступних викликів функції factorial() повертаються у зворотному порядку, подібно до складання акордеона. До моменту досягнення кроку 6 початковий виклик factorial(3) поверне 6.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Can you explain more about how recursion works in C?
What are some common mistakes to avoid when using recursion?
Can you give an example of a recursive function in C?
Awesome!
Completion rate improved to 2.63
Void і Рекурсія
Свайпніть щоб показати меню
Тип повернення void у C
У мові програмування C функції, які оголошені з певним типом повернення, повинні містити оператор return, що повертає значення відповідного типу. Однак існують ситуації, коли функція не повинна нічого повертати — наприклад, якщо вона лише виводить текст на екран. У таких випадках функцію слід оголошувати з типом void.
Main.c
12345678910#include <stdio.h> void func() { printf("This function returns nothing\n"); } int main() { func(); return 0; }
Ключове слово void вказує, що функція не повертає значення, і також може використовуватися у контексті вказівників. Спроба оголосити змінну типу void призведе до помилки, оскільки компілятор не зможе визначити, скільки пам'яті виділити.
Main.c
1234567#include <stdio.h> int main() { void variable; return 0; }
Рекурсія
Мова C підтримує можливість функції викликати саму себе, що називається рекурсією.
Уявіть рекурсію як дію розтягування та відпускання гумки. Зазвичай використовується у математичних операціях, наприклад, для обчислення факторіалів.
Факторіали часто застосовуються для наближення значень функцій шляхом розкладання цих функцій у ряд Тейлора або Маклорена.
Main.c
1234567891011121314151617181920#include <stdio.h> int factorial(int n) { // if n = 0 or 1, because 0! = 1 and 1! = 1 if (n == 0 || n == 1) return 1; // recursion case else return n * factorial(n - 1); } int main() { int n = 3; printf("factorial(%d) = %d\n", n, factorial(n)); return 0; }
У контексті рекурсії функція буде продовжувати викликати саму себе, доки не буде виконано умову n == 0 || n == 1. Коли ця умова задовольняється, результати наступних викликів функції factorial() повертаються у зворотному порядку, подібно до складання акордеона. До моменту досягнення кроку 6 початковий виклик factorial(3) поверне 6.
Дякуємо за ваш відгук!