Оператор возврата return

Оператор возврата return

Синтаксис:

return [<выражение>];

Действие:

Оператор возврата return заканчивает выполнение функции, в которой он содержится, и возвращает управление в вызывающую функцию. Управление передается в точку вызывающей функции, непосредственно следующую за оператором вызова. Значение <выражения>, если оно задано, вычисляется, приводится к типу, объявленному для функции, содержащей оператор возврата return, и возвращается в вызывающую функцию. Если <выражение> опущено, то возвращаемое функцией значение не определено.

Пример:

main()

{

void draw(int, int);

long sq(int);

у = sq(x);

draw(x, y);

}

long sq(int x)

{

return (x*x);

}

void draw(int x, int y)

{

return,

}

Функция main вызывает две функции, sq и draw. Функция sq возвращает значение квадрата x. Это значение присваивается переменной у. Функция draw объявлена с типом void, как не возвращающая значения. Попытка присвоить значение. возвращаемое функцией draw, привело бы к сообщению компилятора об ошибке.

<Выражение> в операторе возврата return принято заключать в скобки, как показано в примере. Это, однако, не является требованием языка.

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

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

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

9.2.2. Коды возврата системных вызов

Из книги автора

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


9.2.4. Общие коды возврата ошибок

Из книги автора

9.2.4. Общие коды возврата ошибок Существует множество общих кодов ошибок, для которых вы вполне могли наблюдать сообщения. Некоторые из этих сообщений могут сбивать с толку. Без знаний о том, что можно делать в Linux-системе, трудно понять ошибки, которые могут возникать в


return - Выходит из функции или возвращает ее значение

Из книги автора

return - Выходит из функции или возвращает ее значение returnВыходит из функции или возвращает ее значениеСинтаксис:return; return expression;Аргументы:Описание:При вызове функции можно передавать ей одно или более значений (параметров или аргументов), участвующих в выполнении.


6.5.11. Действие RETURN

Из книги автора

6.5.11. Действие RETURN Действие RETURN прекращает движение пакета по текущей цепочке правил и производит возврат в вызывающую цепочку, если текущая цепочка была вложенной, или, если текущая цепочка лежит на самом верхнем уровне (например INPUT), то к пакету будет применена политика


Проблема “return void”

Из книги автора

Проблема “return void” Посмотрим внимательнее на реализацию функции operator() в нашем адаптере. Что будет, если мы захотим в качестве типа возвращаемого значения функции использовать void? Наша функция запишется так: void operator() {return void;}. С точки зрения стандарта все хорошо, но все в


R.6.6.3 Оператор return

Из книги автора

R.6.6.3 Оператор return Возврат из функции в обратившуюся к ней функцию происходит с помощью оператора return.Оператор return без выражения можно использовать только в функциях, которые не возвращают значение, т.е. в функциях, возвращающих значение типа void, или в конструкторах (§R.12.1)


3.3. Команды отмены и возврата действия

Из книги автора

3.3. Команды отмены и возврата действия Конечно же, в процессе редактирования (как и выполнения любой другой работы в Word) никто не застрахован от ошибок. Можно ошибиться и при перемещении текста, и при выборе размера шрифта, и во многом другом. Для исправления ошибок в


Правило 52: Если вы написали оператор new с размещением, напишите и соответствующий оператор delete

Из книги автора

Правило 52: Если вы написали оператор new с размещением, напишите и соответствующий оператор delete Операторы new и delete с размещением встречаются в C++ не слишком часто, поэтому в том, что вы с ними не знакомы, нет ничего страшного. Вспомните (правила 16 и 17), что когда вы пишете такое


КЛЮЧЕВОЕ СЛОВО return

Из книги автора

КЛЮЧЕВОЕ СЛОВО return      Принципы программирования на языке Си основаны на понятии функции. В представленных ранее примерах программирования мы уже воспользовались несколькими функциями: printf( ), scanf( ), getchar( ), putchar( ) и strlen( ). Эти функции являются системными, однако мы


ВОЗВРАЩЕНИЕ ЗНАЧЕНИЯ ФУНКЦИЕЙ: ОПЕРАТОР return

Из книги автора

ВОЗВРАЩЕНИЕ ЗНАЧЕНИЯ ФУНКЦИЕЙ: ОПЕРАТОР return      Создадим функцию, вычисляющую абсолютную величину числа. Абсолютная величина числа - это его значение (если отбросить знак). Следовательно, абсолютная величина 5 равна 5, а абсолютная величина -3 равна 3. Мы назовем эту


1. Оператор Select – базовый оператор языка структурированных запросов

Из книги автора

1. Оператор Select – базовый оператор языка структурированных запросов Центральное место в языке структурированных запросов SQL занимает оператор Select, с помощью которого реализуется самая востребованная операция при работе с базами данных – запросы.Оператор Select


7.9.5. Параметры и тип возврата

Из книги автора

7.9.5. Параметры и тип возврата Вернемся к задаче, сформулированной в начале данного раздела. Как использовать указатели на функции для сортировки элементов? Мы можем передать в алгоритм сортировки указатель на функцию, которая выполняет сравнение:int sort( string*, string*,int (*)( const


9.10 Оператор Return

Из книги автора

9.10 Оператор Return Возврат из функции в вызывающеую программу осуществляеся с помощью оператора return, имеющего один из двух видов:return ; return выражение ;Первый может использоваться только в функциях, не возвращающих значения, т.е. в функциях с типом возвращаемого значения void.