Error al compilar, "error: expected declaration specifiers"

Iniciado por UsuarioZ, 12 Marzo 2021, 20:50 PM

0 Miembros y 1 Visitante están viendo este tema.

UsuarioZ

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);
                                                     ^


Eternal Idol

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón