#include <stdio.h>

int espo(int, int);

main()
{
int base, exp;
printf("Inserisci la base:");
scanf("%d", &base);
printf("Inserisci l'esponente:");
scanf("%d", &exp);

printf("%d\n", espo(base, exp));
}

espo(int base, int exp)
{
if(exp == 1)
return base;

else {
return(espo(base*base, exp-1));
}
}

cosa c'è di concenttualmente sbagliato??
vi mostro un output
bash-2.05b$ ./ex1
Inserisci la base:2
Inserisci l'esponente:3
16

il risultato dovrebbe essere 8