Использование оператора безусловного перехода goto в практике программирования на языке С++ настоятельно не рекомендуется, так как он затрудняет понимание программ и возможность их модификаций.
Форма записи:
goto ИмяМетки;... ИмяМетки: оператор;Оператор goto передает управление на оператор, помеченный меткой ИмяМетки. Помеченный оператор должен находиться в той же функции, что и оператор goto, а используемая метка должна быть уникальной, т.е. одно ИмяМетки не может быть использовано для разных операторов программы. Имя-метки - это идентификатор. Метка представляет собой любое целое число без знака в диапазоне от 1 - 9999 или любое имя, состоящее из допустимых в нем символов. Если метка обозначается цифрой, то предшествующие нули не являются значащими, т.е. 1 и 001 эквивалентны.
Пример:
#include <stdio>
void main()
{ for(int i=1;i<5;i++)
{if (i==3) goto a1;
printf("%d",i);
}
a1:
}
Любой оператор в составном операторе может иметь свою метку.
Используя оператор goto, можно передавать управление внутрь составного оператора. Но нужно быть осторожным при входе в составной оператор, содержащий объявления переменных с инициализацией, так как объявления располагаются перед выполняемыми операторами и значения объявленных переменных при таком переходе будут не определены.
СЛОЖНЫЕ ОПЕРАТОРЫ