Buenas, estuve intentando compilar este código sencillo, pero me tira errores, pienso que puede ser el compilador, ya que es una versión vieja, pero no debería pasar creo:
gcc version 4.8.3 (GCC)
#include <stdio.h>
int num, fact = 1, i = 1;
printf("Escriba el numero para sacar su factorial: ");
scanf("%d", &num);
do{
fact = fact * i;
i++;
}while(!(i>num));
printf("\nEl factorial del numero %d es: %d\n", num, fact);
Comando para compilar:
gcc factorial.c -o factorial
Errores:
factorial.c:5:8: error: expected declaration specifiers or '...' before string constant
printf("Escriba el numero para sacar su factorial: ");
^
factorial.c:6:7: error: expected declaration specifiers or '...' before string constant
scanf("%d", &num);
^
factorial.c:6:13: error: expected declaration specifiers or '...' before '&' token
scanf("%d", &num);
^
factorial.c:8:1: error: expected identifier or '(' before 'do'
do{
^
factorial.c:11:2: error: expected identifier or '(' before 'while'
}while(!(i>num));
^
factorial.c:13:8: error: expected declaration specifiers or '...' before string constant
printf("\nEl factorial del numero %d es: %d\n", num, fact);
^
factorial.c:13:49: error: expected declaration specifiers or '...' before 'num'
printf("\nEl factorial del numero %d es: %d\n", num, fact);
^
factorial.c:13:54: error: expected declaration specifiers or '...' before 'fact'
printf("\nEl factorial del numero %d es: %d\n", num, fact);
^
Es tu codigo ... no tiene ni main.