Шаг 35.
Оператор return

    На этом шаге мы рассмотрим оператор, позволяющий возвращать из функции значение.

    Оператор return завершает выполнение данной функции и передает управление вызывающей функции. Оператор return, появившийся в главной функции main, вызывает завершение выполнения всей программы.

    Общий вид оператора return следующий:

   return (<выражение>);
           или
   return <выражение>;

    Если выражение "не пусто" (то есть оно присутствует), то вычисляется его значение, которое и становится значением вызова функции. Выражение, если оно присутствует, может быть только скалярным.


    Пример 1. Составить программу возведения числа в куб с использованием функции.
#include <iostream.h>
void main()
{
	float cube (float); //Прототип функции возведения в куб.
	float n;
	cout << "\nЗадайте число: ";
	cin >> n;
	cout << '\n';
	cout << "\nЕго куб: "<< cube (n) << '\n';
}

float cube (float z) 
//Функция возведения числа в куб.
{
  return z*z*z;
}
Текст этой программы можно взять здесь.

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


    Пример 2. В следующей программе функция выводит на экран дисплея, связанный с потоком cout, значение третьей степени своего аргумента и не возвращает в точку вызова никакого значения.
#include <iostream.h>
void main()
{
    void cube (float); //Прототип функции возведения в куб.
    float n;
    cout << "\nЗадайте число: ";
    cin >> n;
    cout << '\n';
    cube (n);
}

void cube (float z) 
//Функция возведения числа в куб.
{
     cout << "\nКуб заданного числа: "<< z*z*z;
     return;
}
Текст этой программы можно взять здесь.

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

    На следующем шаге мы начнем знакомиться с массивами.


Предыдущий шаг Содержание Следующий шаг