istruzioni di avanzamento e contrassegnati come C)
goto trasferisce il controllo dell'istruzione a un'etichetta.L'etichetta specificata deve risiedere nella stessa funzione e può essere visualizzato prima di solo un'istruzione nella stessa funzione.
Sintassi
istruzione:
contrassegnare-rendicontosalto-rendiconto
salto-rendiconto:
di avanzamento identificatore ;contrassegnare-rendiconto:
identificatore : istruzione
Un istruzione è significativo solo a un oggetto goto istruzione; in qualsiasi altro contesto, un'istruzione contrassegnato viene eseguito indipendentemente dall'etichetta.
In salto-rendiconto deve risiedere nella stessa funzione e può essere visualizzato prima di solo un'istruzione nella stessa funzione.Il set di identificatore nomi che seguono a goto dispone di un proprio spazio dei nomi pertanto i nomi non interferiscono con altri identificatori.Le etichette non possono essere ridichiarato.vedere Spazi dei nomi per ulteriori informazioni.
Ben programma lo stile utilizzare interruzione, continuaree return istruzione di preferenza a goto quando possibile.Da interruzione chiusura dell'istruzione solo da un livello del ciclo, a goto può essere necessario per uscire da un ciclo interno di un ciclo fino annidato.
In questo esempio viene illustrato goto istruzione:
// 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 questo esempio, a goto trasferisce il controllo dell'istruzione nel punto contrassegnato stop quando i è pari a 5.