Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Механизм возврата из функции реализуется оператором



return выражение;

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

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

Пример. Составить программу с функцией вычисления максимума из двух чисел.

#include <iostream.h>

float max(int, int); // прототип

void main(void) //void в скобках можно опустить

{ int x,y;

cin>>x>>y; //Ввод фактических параметров

float z=max(x,y); //Вызов функции с возвращением значения

cout<<"z="<<z; //z можно заменить вызовом max(x,y)

return; //Оператор return можно опустить

}

//Описание функции max

float max(int a,int b) //a и b – формальные параметры

{ return (a>=b)? a:b; //Автоматическое преобразование int в float

}

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

тип имя_функции (тип размерность, тип имя_массива[ ]),

причем размерностей и массивов может быть несколько, а порядок их перечисления – любым. Такие функции либо не возвращают результат (тип void), либо возвращают скалярное значение, например описание функции с двумя массивами одинаковой размерности:

float summ(int n, float a[], float b[])

Прототип соответственно имеет следующий вид:

float summ(int, float [], float []);

Вызов такой функции осуществляется в обычной форме:





Дата публикования: 2014-11-02; Прочитано: 285 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...