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ć.
goto
Zestawienie pozwala nam przenieść sterowanie programu do określonej etykiety.
Składnia instrukcji goto
goto label;… … label: statement;
Etykieta jest identyfikatorem. Po goto
napotkaniu 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 goto
instrukcji może prowadzić do błędnego i trudnego do zrozumienia kodu. Na przykład,
one: for (i = 0; i 5) ( goto three; )…
Również goto
stwierdzenie pozwala robić złe rzeczy, takich jak wyskoczyć z zakresu.
To powiedziawszy, goto
moż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 goto
instrukcji upraszcza Twój program, możesz go użyć. To powiedziawszy, goto
rzadko jest użyteczne i możesz stworzyć dowolny program w C bez goto
cał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”.