Nel seguente programma:
//Funzione fattoriale ricorsiva
#include <stdio.h>
unsigned long long int factorial(unsigned int number);
int main() {
//Durante ogni iterazione, calcola factorial(i) e stampa il risultato
for(unsigned int i=0; i<=21; i++){
printf("%u!=%llu\n", i, factorial(i));
}
}
//Definizione ricorsiva della funzione fattoriale
unsigned long long int factorial(unsigned int number)
{
//Caso di base
if(number<=1){
return 1;
}
else{ //Passo ricorsivo
return(number*factorial(number-1));
}
}
E' il primo caso che mi capita di vedere che si ha un Blocco main dove è definita l'iterazione e poi oltre quella graffe della fine del main, vedo che si ha il calcolo del fattoriale ecc.
Mi chiedo, perchè si usa mettere la funzione fattoriale fuori dal main
Nel main c'è solo l'iterazione!