C ga naar Verklaring
C ga naar Verklaring
In deze zelfstudie leert u de goto-instructie te maken in C-programmering. Je leert ook wanneer je een goto-statement moet gebruiken en wanneer je het niet moet gebruiken.
De goto
statement stelt ons in staat om de controle over het programma over te dragen aan het gespecificeerde label .
Syntaxis van goto-instructie
goto label;
... .. ...
... .. ...
label:
statement;
Het label is een identificatie. Wanneer de goto
statement wordt aangetroffen, springt de besturing van het programma naar label:
en begint de code uit te voeren.
Voorbeeld:ga naar 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 <stdio.h>
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\n", sum);
printf("Average = %.2f", average);
return 0;
}
Uitvoer
1. Enter a number: 3 2. Enter a number: 4.3 3. Enter a number: 9.3 4. Enter a number: -2.9 Sum = 16.60 Average = 5.53
Redenen om goto te vermijden
Het gebruik van goto
verklaring kan leiden tot code die fouten bevat en moeilijk te volgen is. Bijvoorbeeld,
one:
for (i = 0; i < number; ++i)
{
test += i;
goto two;
}
two:
if (test > 5) {
goto three;
}
... .. ...
Ook de goto
statement stelt je in staat om slechte dingen te doen, zoals buiten het bereik springen.
Dat gezegd hebbende, goto
kan soms handig zijn. Bijvoorbeeld:om uit geneste lussen te breken.
Moet je goto gebruiken?
Als u denkt dat het gebruik van goto
statement vereenvoudigt uw programma, u kunt het gebruiken. Dat gezegd hebbende, goto
is zelden nuttig en u kunt elk C-programma maken zonder goto
helemaal.
Hier is een citaat van Bjarne Stroustrup, maker van C++, "Het feit dat 'goto' alles kan, is precies waarom we het niet gebruiken."
C Taal