goto

Оператор goto безусловно передаёт управление в инструкцию с меткой заданным идентификатором. В настоящее время он редко используем, так как делает более трудной ориентацию по коду, что особенно актуально сегодня, когда над одним проектом работает большое количество людей. Для работы данного оператора необходимы специальные метки.

Рассмотрим код, в котором используется goto.

В данном коде присутствуют 2 метки – l1 и l2. Когда компилятор доходит до оператора goto он считывает идентификатор метки, и переходит к месту в коде, где расположена указанная метка.

В нашем случае программа присваивает переменной x значение 6 (1 строка), после добавляет к нему 2 (3 строка) и проверяет на условие < 10 (4 строка). Условие верно, значит выполняется оператор goto l1. Мы переходим к  метке l1 (2 строка) и снова выполняем х += 2. Теперь условие  < 10 неверно и мы переходим к > 9, которое верно и значит, мы выполняем  goto l2 и переходим к метке  l2. Далее идет добавление  4  к  x.

Благодаря подобным скачкам от оператора к метке код  перестает быть последовательно изложенным, что заметно осложняет работу с ним. Но все же иногда это оператор не заменим, например, в ситуации, когда надо выйти из многоступенчатого цикла.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Капча загружается...