Ciao a tutti. Sto cercando di imparare cos'è la ricorsione e vorrei saperla utilizzare bene.

Sto cercando di fare un esempio di programma che calcola in modo ricorsivo tramite una funzione, la potenza, cioè pow (base, esponente).

Ho provato così, ma:
- in compilazione mi da un warning che non capisco ("[Warning] conflicting types for built-in function 'pow' )

- l'esecuzione parte lo stesso ma come risultato mi da sempre 0;

codice:
#include <stdio.h>


/*
IP Base
IP Esponente
OR pow
*/

int pow (int base, int esponente) {
    if (esponente==1)
       return base;
    else
        return base*pow(base,esponente-1);
} /* pow */


int leggi (int base, int esp) {
    printf ("Base: "); scanf ("%d", &base);
    printf ("Esponente: "); scanf ("%d", &esp);
} /* leggi */

int main () {
    int base, esp;
    leggi (base,esp);
    printf ("%d", pow (base, esp));
    system ("pause");
} /* main */
Uso Dev-C++ come IDE.