Книга: Язык программирования Си. Издание 3-е, исправленное

A9.6. Инструкции перехода

A9.6. Инструкции перехода

Инструкции перехода осуществляют безусловную передачу управления.

инструкция-перехода:
    goto идентификатор ;
    continue ;
    break ;
    return выражениенеоб ;

В goto-инструкции идентификатор должен быть меткой (A9.1), расположенной в текущей функции. Управление передается на помеченную инструкцию.

Инструкцию continue можно располагать только внутри цикла. Она вызывает переход к следующей итерации самого внутреннего содержащего ее цикла. Говоря более точно, для каждой из конструкций

while (...){
    ...
contin: ;
}
do {
    ...
contin: ;
} while (...);
for (...){
    ...
contin: ;
}

инструкция continue, если она не помещена в еще более внутренний цикл, делает то же самое, что и goto contin.

Инструкция break встречается в циклической или в switch-инструкции, и только в них. Она завершает работу самой внутренней циклической или switch- инструкции, содержащей данную инструкцию break, после чего управление переходит к следующей инструкции.

С помощью return функция возвращает управление в программу, откуда была вызвана. Если за return следует выражение, то его значение возвращается вызвавшей эту функцию программе. Значение выражения приводится к типу так, как если бы оно присваивалось переменной, имеющей тот же тип, что и функция.

Ситуация, когда "путь" вычислений приводит в конец функции (т. е. на последнюю закрывающую фигурную скобку), равносильна выполнению return- инструкции без выражения. При этом, а также в случае явного задания return без выражения возвращаемое значение не определено

Оглавление книги


Генерация: 1.113. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз