San4az
Мыслитель
(9509)
10 лет назад
Куда возвращает?
вызывающей ф-ии она возвращает
Зачем возвращает?
потом что ф-ия так определена, что она возвращает значение, ибо это её логическое завершение работы
Каким образом?
что бы ф-ия что-то возвращала:
1 - должен быть указан любой из доступных типов который она будет возвращать, не void
2 - соответственно если указан тип возвращаемых данных то должен быть return выражение как минимум в самом конце ф-ии
Для чего вообще?
Ну например тебе приспичило самому сделать ф-ию возведения числа в куб
int num = 3;
cout << "Куб числа " << num " равен - " <<myCub(num) << endl;
определение ф-ии
int myCub(int n)
{
retrun (n*n*n);
}
Соответственно в окне консоли ты увидишь:
Куб числа 3 равен - 27
В этом и смысл к примеру
my 791
Профи
(998)
10 лет назад
Вот ты вызываешь функцию:
x = myFunction(10) + 25
Если функция возвращает число 5, то это равнозначно
x = 5 + 25
Т. е. функция возвращает значение в то место, откуда она была вызвана.
Krab Bark
Искусственный Интеллект
(191708)
10 лет назад
Это означает, что имя функции может использоваться как переменная, значение которой вычисляется в теле функции.
Например, int f(int a){return a*a;}
При вызове b=f(3)+1; будет b присвоено значение 10. По принятой терминологии говорят, что функция, получив параметр со значением 3, возвратила значение 9.
В принципе функция может возвращать значения не только через свое имя, но и с помощью присвоения новых значений переданным ей как имена переменных параметрам, но для этого нужен специальный синтаксис их перечисления в списке параметров, это ты будешь осваивать позже.
Булат 1
Оракул
(54440)
10 лет назад
В математике что делает функция sin x?
На входе берет число x, а на выходе тоже выдает некоторое число. Результат выполнения функции sin - это и есть возвращаемое значение. Оно ВОЗВРАЩАЕТСЯ В ТУ ЧАСТЬ ПРОГРАММЫ, КОТОРАЯ ВЫЗВАЛА ФУНКЦИЮ sin и этим возвращенным значением можно воспользоваться по своему усмотрению.
riv
Мыслитель
(7591)
10 лет назад
если интересно, смотрите асссемблерный код, в кратце: есть процессорная команда call (переход по адресу в сегменте кода) и ret (вынуть из стека адрес, положенный туда командой call и перейти по этому адресу)
так вот перед выполннением команды ret обычно в регистр eax записывается какое-то значение, это значение и возвращает функция в вызвавший ее код через регистр eax.
но вообще Булат более правильно ответил, так как программирование это прежде всего математика, следовательно и объяснять надо математическими терминами.
уясни для начал, что есть функция в математике
Данил Цыкунов
Знаток
(271)
2 года назад
К сожалению, Александр дал ещё более неверную информацию. Функция return даёт не только возврат информации (именно информации, а не результат, как написал Александр). Главная её задача - возврат управления*, которое мы передали функции. Возврат информации - это дополнительная возможность получить какое-либо значение (поработали с числом а, на выходе попросили вернуть а^2, например, или значение другого параметра, который создан в самой функции).
* - при вызове функции текущий код становится на паузу и передаёт управление в функцию, которая делает что-то и возвращает управление в то место, где происходил вызов, а дополнительно может отправить какую-то информацию туда.