I was in C today and I saw this example of using recursive calls and I don't understand how it works. Can someone please explain?
int print(int nb)
{
    if (nb < 0) 
    {
        return (0);
    }
    printf("%d", nb + print(nb - 1));
    nb --;
    return (nb);
}
int main(void)
{
    print(4);
    return (0);
}
 
     
    