Hi all i have problems to understand recursion .Here are two programms.Could someone tell me how they work?

1.
Code:
#include <stdio.h>

void up_and_down(int);

main( )
{
up_and_down(1);
}

void up_and_down(n);
int n;
{
printf ("Στάδιο %d\n", n);
if (n < 4)
up_and_down(n+1);
printf ("Στάδιο %d\n", n);
}
2.
Code:
#include <stdio.h>

int summing(int);

main()
{
int k=0;

k = k + summing(1);
printf("%d\n", k);
}

int summing(n)
int n;
{
int j=0;

if (n++ < 4)
j = summing(n)+ n;
return j;
}