Функция - как?

...::: Приветствую, comp :::...
function TForm1.MulNumber(index: Integer): Integer;
begin
if Index=1 then
begin
Result:=1;
exit;
end;
Result:=Index*MulNumber(index-1);
end;
Вот если эту функцию вызвать ( MulNumber(5) ) то она возвратит
факториал числа 5 - 120, но почему ведь перед выходом ( exit; ) стоит
присвоение ( Result:=1; ) и ведь это значит что функция должна
возвратить число 1, но почему получается иначе?
= = = = = = = = = = = = = = = = = = = =
...::: by GENEMI :::...
Номер выпуска : 4281
Возраст листа : 566 (дней)
Количество подписчиков : 524
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/348069
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru
Здравствуйте, GENEMI.
Потому, что это последнее умножение на единицу. Функция в любом случае
должна что-то вернуть. И получается, что когда она входит сама в себя,
она накапливает числа, которые потом, после выхода перемножаются.
Единица - последнее.