Gehe und Anweisungen mit Bezeichnung (C)
Das goto - übergibt die Steuerung an eine Bezeichnung.Die angegebene Bezeichnung muss sich in der gleichen Funktion befinden und kann nur vor einer Anweisung in der gleichen Funktion angezeigt werden.
Syntax
Anweisung:
BeschrifteteAnweisungSprungAnweisung
SprungAnweisung:
goto Bezeichner ;BeschrifteteAnweisung:
Bezeichner : Anweisung
Eine Anweisungsmarke ist nur auf eine goto-Anweisung sinnvoll. In jedem anderen Kontext wird eine Anweisung mit Marke ohne Berücksichtigung der Bezeichnung ausgeführt.
Eine Sprung Anweisung muss sich in der gleichen Funktion befinden und kann nur vor einer Anweisung in der gleichen Funktion angezeigt werden.Der Satz von Bezeichnernamen, die goto folgen, verfügt über einen eigenen Namespace, sodass andere Bezeichner nicht behindern die Namen.Bezeichnungen können nicht erneut deklariert werden.Weitere Informationen finden Sie unter Namespaces .
Dies ist das Format, um sich Programmierfehler break, continue, und der return-Anweisung nicht verwenden goto , wann immer dies möglich ist.Da die Beenden der break-Anweisung nur eine Ebene der Schleife, goto für eine Schleife beenden aus einer tief geschachtelten Schleife erforderlich sind.
In diesem Beispiel wird die goto-Anweisung:
// goto.c
#include <stdio.h>
int main()
{
int i, j;
for ( i = 0; i < 10; i++ )
{
printf_s( "Outer loop executing. i = %d\n", i );
for ( j = 0; j < 3; j++ )
{
printf_s( " Inner loop executing. j = %d\n", j );
if ( i == 5 )
goto stop;
}
}
/* This message does not print: */
printf_s( "Loop exited. i = %d\n", i );
stop: printf_s( "Jumped to stop. i = %d\n", i );
}
In diesem Beispiel wird ein goto beschriftete übergibt die Steuerung an dem Punkt stop-Anweisung als i ist gleich 5.