Qualcuno che mi aiuti a capire cosa stampa questo programma e perchè?

Esercizio 3:

Dire cosa stampa il seguente programma:




codice:
#include <stdio.h>


int funzione(int n){
   if(n==0) return 1;
   else return n+funzione(n-1);

}


int main()
{
    int a=5;
    printf("%d\n",funzione(a));         


}