Instrukcja C goto

Spisie treści

W tym samouczku nauczysz się tworzyć instrukcję goto w programowaniu w C. Dowiesz się również, kiedy używać instrukcji goto, a kiedy jej nie używać.

gotoZestawienie pozwala nam przenieść sterowanie programu do określonej etykiety.

Składnia instrukcji goto

 goto label;… … label: statement; 

Etykieta jest identyfikatorem. Po gotonapotkaniu instrukcji sterowanie programem przechodzi do label:i rozpoczyna wykonywanie kodu.

Przykład: instrukcja goto

 // 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; )

Wynik

 1. Wpisz liczbę: 3 2. Wpisz liczbę: 4,3 3. Wpisz liczbę: 9,3 4. Wpisz liczbę: -2,9 Suma = 16,60 Średnia = 5,53

Powody, dla których warto unikać goto

Użycie gotoinstrukcji może prowadzić do błędnego i trudnego do zrozumienia kodu. Na przykład,

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

Również gotostwierdzenie pozwala robić złe rzeczy, takich jak wyskoczyć z zakresu.

To powiedziawszy, gotomoże być czasami przydatne. Na przykład: aby zerwać z zagnieżdżonymi pętlami.

Czy powinieneś używać goto?

Jeśli uważasz, że użycie gotoinstrukcji upraszcza Twój program, możesz go użyć. To powiedziawszy, gotorzadko jest użyteczne i możesz stworzyć dowolny program w C bez gotocałkowitego używania .

Oto cytat Bjarne Stroustrupa, twórcy C ++: „Fakt, że 'goto' może zrobić wszystko, jest dokładnie powodem, dla którego go nie używamy”.

Interesujące artykuły...