Другие языки программирования и технологии
Помогите новичку понять: что такое "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
например.
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
Оператор return 0 считывает из стека адрес возврата, чтобы вернуться к тому месту в программе, откуда функция была вызвана. В стек помещается значение 0, которое программа может использовать как вычисленное значение функции.
"return 0" - на русский можно перевести как "вернуть ноль".
return завершает исполнение функции и возвращает свой параметр в качестве результата.
-- и что? что с этого?
Как что? Тот, кто эту функцию вызвал получит результат 0.
return завершает исполнение функции и возвращает свой параметр в качестве результата.
-- и что? что с этого?
Как что? Тот, кто эту функцию вызвал получит результат 0.
возврат к преведушей функции. как прерывание можно юзать
ну как "что с этого"..не токаж 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.
За что вы возьмётесь?
Правильно, вы напишите функцию, в которую будете передавать 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 шаг.
Похожие вопросы
- помогите новичку! Конструкторы в С++! я тока учусь и нифига не понял в конструкторах! объясните пожалуста!
- Помогите с информатикой. Вопрос по С++: написание функций с помощью void
- Помогите новичку с сайтом.
- Помогите переделать программу в Delphi через "Процедуры, функции, модули".
- Помогите написать программу на c++ С использованием функций
- Програмисты помогите новичку,а то кроме Вас надеятся не на кого!
- Знатоки в Linux, помогите новичку в Linux но чайнику по Windows разобраться в разделах!>>>
- PascalABC.NET Графика и анимация простейший уровень, не хочет выполняться процедура, (помогите новичку)
- Помогите новичку определиться с языком
- Помогите новичку, объясните разницу между C, C++ И C#. и Посоветуйте книгу/видеоуроки или т. п для обучения основ