Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Instruktionen goto överför kontrollen till en etikett. Den angivna etiketten måste finnas i samma funktion och kan bara visas före en instruktion i samma funktion.
Syntax
statement:
labeled-statement
jump-statement
jump-statement:
goto
identifier
;
labeled-statement:
identifier
:
statement
En instruktionsetikett är endast meningsfull för en goto -instruktion. I andra sammanhang körs en etikettsats utan hänsyn till etiketten.
Ett jump-statement måste finnas i samma funktion och kan bara visas före en instruktion i samma funktion. Namnuppsättningen identifier efter en goto har ett eget namnutrymme så att namnen inte stör andra identifierare. Etiketter kan inte redeclared. Mer information finns i Namnutrymmen.
Det är bra programmeringsformat att använda instruktionen break, continueoch return i stället för goto när det är möjligt. Eftersom -instruktionen break bara avslutas från en nivå i loopen kan en goto vara nödvändig för att avsluta en loop inifrån en djupt kapslad loop.
Det här exemplet visar instruktionen goto :
// 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 );
}
I det här exemplet överför en goto instruktion kontrollen till den punkt som är märkt stop när i den är lika med 5.