Pascal. Рекурсивная функция возвращает 0

Функция считает сумму цифр n числа. Объясните пожалуйста почему функция возвращает 0, хотя debug показывает значение в переменной sum

    function SumNum(sum,num:integer):integer;
begin
    if 0 = num then
    begin
        SumNum:=sum;
        exit;
    end;
    SumNum(sum + num mod 10,num div 10);
end;

Ответы (1 шт):

Автор решения: Harry

Так, как вы хотите - рекурсивно, с двумя аргументами - надо писать не

SumNum(sum + num mod 10,num div 10);

а

SumNum := SumNum(sum + num mod 10,num div 10);

См. https://ideone.com/ToU2VT

→ Ссылка