Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Void і Рекурсія | Функції
Основи C

bookVoid і Рекурсія

Тип повернення void у C

У мові програмування C функції, які оголошені з певним типом повернення, повинні містити оператор return, що повертає значення відповідного типу. Однак існують ситуації, коли функція не повинна нічого повертати — наприклад, якщо вона лише виводить текст на екран. У таких випадках функцію слід оголошувати з типом void.

Main.c

Main.c

copy
12345678910
#include <stdio.h> void func() { printf("This function returns nothing\n"); } int main() { func(); return 0; }

Ключове слово void вказує, що функція не повертає значення, і також може використовуватися у контексті вказівників. Спроба оголосити змінну типу void призведе до помилки, оскільки компілятор не зможе визначити, скільки пам'яті виділити.

Main.c

Main.c

copy
1234567
#include <stdio.h> int main() { void variable; return 0; }

Рекурсія

Мова C підтримує можливість функції викликати саму себе, що називається рекурсією.

Уявіть рекурсію як дію розтягування та відпускання гумки. Зазвичай використовується у математичних операціях, наприклад, для обчислення факторіалів.

Факторіали часто застосовуються для наближення значень функцій шляхом розкладання цих функцій у ряд Тейлора або Маклорена.

Main.c

Main.c

copy
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.

question mark

Уявіть рекламу, де ви бачите дівчину з пляшкою молока. На цій пляшці зображена ще одна така ж дівчина з пляшкою молока, а на меншій пляшці — ще одне зображення дівчини, і так далі. Як називається це поняття?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 5. Розділ 6

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Suggested prompts:

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

bookVoid і Рекурсія

Свайпніть щоб показати меню

Тип повернення void у C

У мові програмування C функції, які оголошені з певним типом повернення, повинні містити оператор return, що повертає значення відповідного типу. Однак існують ситуації, коли функція не повинна нічого повертати — наприклад, якщо вона лише виводить текст на екран. У таких випадках функцію слід оголошувати з типом void.

Main.c

Main.c

copy
12345678910
#include <stdio.h> void func() { printf("This function returns nothing\n"); } int main() { func(); return 0; }

Ключове слово void вказує, що функція не повертає значення, і також може використовуватися у контексті вказівників. Спроба оголосити змінну типу void призведе до помилки, оскільки компілятор не зможе визначити, скільки пам'яті виділити.

Main.c

Main.c

copy
1234567
#include <stdio.h> int main() { void variable; return 0; }

Рекурсія

Мова C підтримує можливість функції викликати саму себе, що називається рекурсією.

Уявіть рекурсію як дію розтягування та відпускання гумки. Зазвичай використовується у математичних операціях, наприклад, для обчислення факторіалів.

Факторіали часто застосовуються для наближення значень функцій шляхом розкладання цих функцій у ряд Тейлора або Маклорена.

Main.c

Main.c

copy
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.

question mark

Уявіть рекламу, де ви бачите дівчину з пляшкою молока. На цій пляшці зображена ще одна така ж дівчина з пляшкою молока, а на меншій пляшці — ще одне зображення дівчини, і так далі. Як називається це поняття?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 5. Розділ 6
some-alt