C goto Заява

Зміст

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

gotoЗаява дозволяє передати управління програмою на вказану мітку.

Синтаксис оператора goto

 goto label;… … label: statement; 

Етикетка є ідентифікатором. Коли gotoзустрічається оператор, елемент керування програмою переходить до label:і починає виконувати код.

Приклад: goto Statement

 // Program to calculate the sum and average of positive numbers // If the user enters a negative number, the sum and average are displayed. #include int main() ( const int maxInput = 100; int i; double number, average, sum = 0.0; for (i = 1; i <= maxInput; ++i) ( printf("%d. Enter a number: ", i); scanf("%lf", &number); // go to jump if the user enters a negative number if (number < 0.0) ( goto jump; ) sum += number; ) jump: average = sum / (i - 1); printf("Sum = %.2f", sum); printf("Average = %.2f", average); return 0; )

Вихідні дані

 1. Введіть число: 3 2. Введіть число: 4.3 3. Введіть число: 9.3 4. Введіть число: -2,9 Сума = 16,60 Середнє = 5,53

Причини уникати goto

Використання gotoоператора може призвести до появи коду, який є помилковим і важким для дотримання. Наприклад,

 one: for (i = 0; i 5) ( goto three; )… 

Крім того, gotoзаява дозволяє робити погані речі, такі як вискакування з області дії.

Сказане, gotoіноді може бути корисним. Наприклад: розірвати з вкладених циклів.

Чи варто використовувати goto?

Якщо ви вважаєте, що використання gotoоператора спрощує вашу програму, ви можете ним скористатися. Сказане, gotoрідко буває корисним, і ви можете створити будь-яку програму на С, не використовуючи gotoвзагалі.

Ось цитата Бьярна Страуструпа, творця C ++, "Той факт, що" goto "може робити що завгодно, саме тому ми його не використовуємо".

Цікаві статті...