C goto Statement

Inhaltsverzeichnis

In diesem Tutorial lernen Sie, die goto-Anweisung in der C-Programmierung zu erstellen. Außerdem erfahren Sie, wann Sie eine goto-Anweisung verwenden und wann Sie sie nicht verwenden müssen.

Die gotoAnweisung ermöglicht es uns, die Kontrolle über das Programm auf das angegebene Label zu übertragen.

Syntax von goto Statement

 goto label;… … label: statement; 

Das Etikett ist eine Kennung. Wenn die gotoAnweisung angetroffen wird, springt die Steuerung des Programms zum label:Code und beginnt mit der Ausführung.

Beispiel: gehe zu Anweisung

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

Ausgabe

 1. Geben Sie eine Zahl ein: 3 2. Geben Sie eine Zahl ein: 4.3 3. Geben Sie eine Zahl ein: 9.3 4. Geben Sie eine Zahl ein: -2.9 Summe = 16.60 Durchschnitt = 5.53

Gründe, um zu gehen

Die Verwendung von gotoAnweisungen kann zu fehlerhaftem und schwer zu befolgendem Code führen. Beispielsweise,

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

Außerdem gotokönnen Sie mit der Anweisung schlechte Dinge tun, z. B. aus dem Bereich springen.

Davon abgesehen gotokann es manchmal nützlich sein. Zum Beispiel: Um aus verschachtelten Schleifen auszubrechen.

Solltest du goto verwenden?

Wenn Sie der Meinung sind, dass die Verwendung von gotoAnweisungen Ihr Programm vereinfacht, können Sie es verwenden. Dies gotoist jedoch selten nützlich und Sie können jedes C-Programm erstellen, ohne es gotoinsgesamt zu verwenden.

Hier ist ein Zitat von Bjarne Stroustrup, dem Erfinder von C ++: "Die Tatsache, dass 'goto' alles kann, ist genau der Grund, warum wir es nicht verwenden."

Interessante Beiträge...