No puedes llamar a una variable igual que la función, usa otro nombre
Código:
int factorial(int entero){
int factorial=1;
if (entero==2) // OJO 2! = 2
return factorial;
else
factorial *= factorial(--entero);
return factorial;
}
Por ejemplo:
Código:
int factorial(int entero){
int fact=1;
if (entero==1 || entero==0)
return fact;
else
fact *= factorial(--entero);
return fact; // Esto nunca se ejecuta
}
Saludos