Me pueden decir si este código es correcto, gracias
Aquí tienes el código con comentarios añadidos:
```c
#include <stdio.h>
// Función para calcular el factorial de un número
int calcularFactorial(int n) {
if (n == 0) { // Si el número es 0, el factorial es 1
return 1;
} else {
return n * calcularFactorial(n - 1); // Si el número es mayor que 0, calcula el factorial recursivamente
}
}
int main() {
int numero, factorial;
printf("Ingrese un número para calcular su factorial: ");
scanf("%d", &numero);
// Verifica si el número es negativo
if (numero < 0) {
printf("El factorial de un número negativo no está definido.\n"); // Mensaje de advertencia si el número es negativo
} else {
factorial = calcularFactorial(numero); // Calcula el factorial si el número es no negativo
printf("El factorial de %d es: %d\n", numero, factorial); // Imprime el resultado
}
return 0;
}
```
Espero que estos comentarios te ayuden a entender mejor el funcionamiento del código.