Originariamente inviato da gandalf45
Veramente no

Mi sono scordato "*f"

Questo è il codice funziononte:
codice:
int fact(int f){
  int risposta;

  if(f==1)return 1;
  risposta = fact(f-1)*f;
  return risposta;
}
E hai anche dimenticato un caso base: quando l'argomento è 0!
codice:
int fact(int f){
  int risposta;

  if((f==1) || (f == 0))return 1;
  risposta = fact(f-1)*f;
  return risposta;
}
Ovviamente tralasciando i casi di "errore" per i valori negativi (caso in cui la funzione va in loop).

Ciao.