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.