Чи можна мати декілька повернень у функції C?

Функції C можуть повертати лише одне значення безпосередньо. Щоб подолати це обмеження, ви можете використовувати вказівники, параметри посилання або структури для непрямого повернення кількох значень.

Функції C можуть повертати лише одне значення безпосередньо.

Для подібних запитань найпростіший спосіб отримати відповідь – просто запустити його та подивитися, що станеться. У будь-якому випадку, коли виконується перше повернення, виконання функції припиняється, і задане значення повертається будь-якому коду, що називається функцією. Таким чином, другий результат є недосяжним кодом, який ніколи не буде виконано.

Ні, ви можете повернути лише одне значення з функції. Після досягнення оператора return функція зупиняється. Тож друге повернення ніколи не буде виконано.

Як ми бачили вище, ми не можемо повернути кілька значень одночасно. Причина цього полягає в тому, що ми повертаємо значення за допомогою оператора return. Цей оператор може обробляти лише одне значення за раз, і ми можемо використовувати лише один оператор повернення на функцію (другий і наступні є частиною мертвого коду).

Іноді кажуть, що метод повинен мати лише один оператор повернення (тобто одну точку виходу) і що кодування з використанням більше ніж одного повернення на метод є поганою практикою. Стверджується, що це загрожує читабельності або є джерелом помилок. Іноді це навіть називають «законом про єдину точку виходу».

Ви, звичайно, можете мати кілька операторів повернення в C, але вони повинні повертати значення того самого типу, наприклад, якщо цей тип є цілим: int my_function () { …