Другие языки программирования и технологии

Помогите новичку понять: что такое "return" в функциях? Что он делает? Зачем он нужен?

Постарайтесь, пожалуйста, объяснить всё предельно доходчиво, понятным человеческим языком, чтобы простой человек смог понять (Просто я нуб в этом деле)
значит так. . return возвращает результат выполнения функции.
например.
int plus5(int a)
{
return a+5;
}
в этой функции мы возвратили значение переданное функции (переменная а) но уже на 5 больше)
Можно возвращать любые типы данных.
Вот пример еще один, возвращающий произведение "а" и "в"
int proizvedenie(int a, int b)
{
int c;
c=a*b;
return c;
}

Использование:
int chislo;
chislo =proizvedenie(2,5);
таким образом функция вернет нам 10 и данное значение присвоится переменной chislo
Жалгас Мусагалиев
Жалгас Мусагалиев
30 179
Лучший ответ
Оператор return 0 считывает из стека адрес возврата, чтобы вернуться к тому месту в программе, откуда функция была вызвана. В стек помещается значение 0, которое программа может использовать как вычисленное значение функции.
Shamsi Navruzov
Shamsi Navruzov
75 053
"return 0" - на русский можно перевести как "вернуть ноль".
return завершает исполнение функции и возвращает свой параметр в качестве результата.

-- и что? что с этого?

Как что? Тот, кто эту функцию вызвал получит результат 0.
Андрей Б@ро@
Андрей Б@ро@
2 663
возврат к преведушей функции. как прерывание можно юзать
ОУ
Олег Усов
2 520
ну как "что с этого"..не токаж 0 он может возвращать.. то что он вернет вызвавшая (то бишь та, к которой вернулись) ф-я будет как-нить обрабатывать. может и ничо не вернуть. тогда это тупо насильственный возврат к вызвавшей ф-ии (говоря проще завершение текущей)..
Например, вы хотите написать во флеше порешатор квадратных уравнений.
За что вы возьмётесь?

Правильно, вы напишите функцию, в которую будете передавать a,b,c.

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

function getX(a:Number, b:Number, c:Number)

{

var result:Number;

//проводим арифметику с переданными числами

}

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

Вызываем функцию.

getX(2,3,1);

И что получается? Наша функция решает уравнение, но результат мы не получаем!

Как же получить результат?

Для этого есть оператор return.

function getX(a:Number, b:Number, c:Number)

{

var result:Number;

//проводим арифметику с переданными числами

return result;

}

Что значит то, что мы вернули результат?

Теперь функция при её вызове в место вызова будет подставлять результат.

Если вывести её командой trace(), которая во флеше выводит то, что в скобках в окно output, то мы увидим там результат.

trace(getX(2,3,1));

Почему не вывести результат сразу в функции? В некоторых ситуациях нужно провести какие-то действия над числом или строкой и вывести результат в другое место, которое, например, не доступно в месте описания функции. Или нужно получить результат в коду. Например, нужно принять массив, обработать его как надо и вернуть.

var array:Array = new Array();

var obrabotanniyArray:Array = processArray(array);

Если в функции вернуть этот массив, то он присвоится переменной obrabotanniyArray.
return - вернуться назад на 1 шаг.