Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
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; Прочитано: 286 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!