Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

В чем разница между функциями, которые возвращают значения и которые не возвращают? Не вникаю в смысл слова "возвращает"

артем григорян Ученик (78), закрыт 14 лет назад
Дополнен 14 лет назад
не возвращают значения, для тех кто не понял
Лучший ответ
Atomic Знаток (420) 14 лет назад
Пустая функция, которая ничего "не возвращает".
void emptyFunc()
{
return; // Выход из функции (под-программы) , функция ничего не возвращает.
}
Вызвать её просто: emptyFunc();
Она лишь выполняет какую-либо задачу, которая не отдает никаких результатов вызвавшей её программе.
Никаких данных в регистры она не кладет, а значит и вызывающей программе оттуда брать нечего, ибо тип void.
--
Функция, которая просто возвращает 1:
int returnFunc()
{
return 1; // Здесь в регистр процессора помещается этот самый возврат
}

Компилятор сделал это примерно так:
00C613DE mov eax,1

Затем, содержимое регистра eax может быть использовано для каких либо целей вызывающей программой.
Например вызов и присвоение полученного результата переменной "newi":
newi = returnFunc(); // эта функция вернет 1 и поместит 1 в переменную

Компилятор делает "перемещение" содержимого из регистра eax(в него функция поместила 1) в участок памяти переменной newi:
002A1428 mov dword ptr [newi],eax

Вот такой процесс, хоть и сложно объяснил xD
Остальные ответы
sm Просветленный (32574) 14 лет назад
> и которые не возвращают

Таких попросту не бывает в природе.

Даже не знаю, что написать Мастер (1811) 14 лет назад
например: сумма двух целых чисел есть целое число, т. е. функция которая должна
сложить 2 целых числа должна вернуть целое число.
А которые не возвращают например вывод строки на экран
Антончев Алексей Мастер (2165) 14 лет назад
пример 5+5
ответ равен 10, но языку допустим паскаль не понятно куда он ответ запишит куда возвратит,
пример возвращения
a:=5+5;
ответ 10 он возвратил в переменную а
тоесть получилось так
a=10;
короче в переменную записывается ответ, тоесть возвращает
Похожие вопросы