Buenas noches... tengo este codigo para calcular el factorial de un numero por medio de una funcion pero el problema es que siempre me da como resultado el mismo valor. Agradezco la atencion y colaboracion que me puedan brindar.
#include<stdio.h>
#include<conio.h>
int factorial(int num1);
int main()
{
clrscr();
int num;
printf("Digite el numero\n");
scanf("%d", &num);
printf("El factorial del numero es: %d\n", factorial(num));
getch();
return 0;
}
int factorial(int num1)
{
int i, num, cont;
cont = 1;
i = 1;
while (cont <= num)
{
i = i * cont;
cont++;
return i;
}
}
La linea
va debajo de la siguiente llave de cierre "}" del código. De lo contrario, el bucle del while solamente se ejecuta una vez y la función retorna el valor de
que en la primer pasada siempre vale uno.
Un consejo: Ante este tipo de errores, ejecuta paso a paso para ver que está pasando, si eso no furula, depurá.
PD: Utilizá las etiquetas CODE para publicar tu código, debido a que no las usaste, no se si el código estaba tabulado o no, de ser que no, hacelo también.
Un saludo