No: funziona bene, ma se facciamo così ci risparmimo un'istanza ogni volta:

codice:
int fact(int n)  {
    return ((n<=1) ? 1 : n*fact(n-1));
}