C++, как работает данная функция? сумма цифр числа

Добрый день! Объясните, пожалуйста, как работает данная функция(находит сумму цифр числа), нашёл в интернете, но не понимаю алгоритм.

#include <iostream>

using namespace std;
        int digitSum(int n)
        {
            if (n < 10) return n;
            int res = n/10;
            return n - res*10 + digitSum(res);
        }
int main() {
    int a;
    cin >> a;
    cout << digitSum(a);
}

А что именно непонятно?

Возьмите листочек или калькулятор и делите число на 10 пока оно больше 10, смотрите остаток от деления и целую часть.

Это

наверно можно заменить на n % 10.

Ну и дальше там рекурсия

по сути можно заменить на цикл, который делит пока число больше 10.