codice in c++
ho trovato questo frammento di codice su internet per capire le funzioni ricorsive.... ma non riesco a capire perche quando si esce dalla funzione con return mi viene stamppato sullo schermo 1*ris (in questo caso 625) e non 1
cioe se dopo return metto 3, la funzione stampa 1875, ma perche??
ho sempre saputo che return riportava quello che c' era dopo, in questo caso 1
inoltre se dopo return scrvo ris, sullo tempo viene stampato un numero con esponente, probabilmente casuale
#include <iostream>
using namespace std;
double eleva(double base, int esp);
int main ()
{
cout << eleva(5,4);
}
double eleva(double base, int esp)
{
double ris;
if (esp==0)
{
return 1;
}
ris = base * eleva(base, esp-1);
}
grazie a chiunque mi risponda
ho trovato questo frammento di codice su internet per capire le funzioni ricorsive.... ma non riesco a capire perche quando si esce dalla funzione con return mi viene stamppato sullo schermo 1*ris (in questo caso 625) e non 1
cioe se dopo return metto 3, la funzione stampa 1875, ma perche??
ho sempre saputo che return riportava quello che c' era dopo, in questo caso 1
inoltre se dopo return scrvo ris, sullo tempo viene stampato un numero con esponente, probabilmente casuale
#include <iostream>
using namespace std;
double eleva(double base, int esp);
int main ()
{
cout << eleva(5,4);
}
double eleva(double base, int esp)
{
double ris;
if (esp==0)
{
return 1;
}
ris = base * eleva(base, esp-1);
}
grazie a chiunque mi risponda