Ejercicio 1-18 K&R. ¿Cómo se supone que debo borrar un espacio en blanco?

He estado leyendo este libro durante más de 2 semanas y esto es todo lo que tengo (bastante lento, ¿no?) De todos modos, esto es lo que hice:

Me sale esto cuando bash comstackr con eclipse

Building file: ../main.c Invoking: GCC C Compiler gcc -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"main.d" -MT"main.d" -o "main.o" "../main.c" ../main.c: In function 'erasewhites': ../main.c:59:1: error: expected declaration or statement at end of input } ^ ../main.c:59:1: warning: control reaches end of non-void function [-Wreturn-type] } 

la línea 59 es la que dice “a [i] = de [i]” Lo que intenté hacer fue leerlo y copiarlo en un vector, luego copiar ese vector en uno nuevo sin los espacios en blanco y las tabs y luego si no era una línea vacía, se suponía que la función principal debía imprimirla. Estaba buscando este error, pero lo único que encontré es que faltaba un retorno, lo cual ya pensé, pero es una función nula (copiar (a [], de [])) y traté de escribir antes del token} regreso ; y devuelve 0; pero sigue recibiendo el mismo error ¿Está la idea cerca de lo que pide el ejercicio? (Ejercicio 1-18. Escriba un progtwig para eliminar los espacios en blanco y las tabs de cada línea de entrada, y para eliminar las líneas en blanco). ¡Gracias!

 #include  #define MAXLINE 1000 #define BLANK 1 #define NOT_BLANK 0 int getlinea (char s [], int lim); void copy (char to [], char from []); int erasewhites (char s[], int len); int main (void){ char palabra [MAXLINE]; int len; while ( (len = getlinea (palabra, MAXLINE) ) >= 0) if (len > 0) printf ("%s\n",palabra); return 0; } int getlinea (char s[], int lim){ int i, c, len; char aux[MAXLINE]; for ( i=0; ( c = getchar () )!= EOF && c != '\n' && i  0 ) copy ( s , aux ); else return 0; return len; } int erasewhites (char s[], int len){ int state = BLANK; while (len > 0 && state == BLANK){ if ( s[len] != 32 && s[len] != '\t' ) state = NOT_BLANK; else --len; } if ( len >= 0 ) s[len+1] = '\0'; else return 0; return len; } void copy ( char to[], char from [] ){ int i; for ( i = 0 ; from [i] != '\0' ; ++i) to [i] = from [i] ; to [i+1] = '\0'; } 

borré las líneas comentadas y se compiló … eso fue raro, esto es lo que devuelve el terminal cuando voy

$ ./progtwig <main.c

 #include td #define MAXLINE 1000 #define BLANK 1 1000 #define NOT_BLANK 00 int getlinea (char s [], int lim); void copy (char to [], char from []); int erasewhites (char s[], int len);; int main (void){(char s[], int len);; char palabra [MAXLINE];], int len);; int len;abra [MAXLINE];], int len);; while ( (len = getlinea (palabra, MAXLINE) ) >= 0)dԁ if (len > 0)= getlinea (palabra, MAXLINE) ) >= 0)dԁ printf ("%s\n",palabra);alabra, MAXLINE) ) >= 0)dԁ return 0;("%s\n",palabra);alabra, MAXLINE) ) >= 0)dԁ }return 0;("%s\n",palabra);alabra, MAXLINE) ) >= 0)dԁ int getlinea (char s[], int lim){, MAXLINE) ) >= 0)dԁ int i, c, len;har s[], int lim){, MAXLINE) ) >= 0)dԁ char aux[MAXLINE];s[], int lim){, MAXLINE) ) >= 0)dԁ for ( i=0; ( c = getchar () )!= EOF && c != '\n' && i < lim-1 ; ++i)  0)z  aux[i] = c ;c = getchar () )!= EOF && c != '\n' && i < lim-1 ; ++i)  0)z  if (c == EOF)c = getchar () )!= EOF && c != '\n' && i < lim-1 ; ++i)  0)z  return -1;F)c = getchar () )!= EOF && c != '\n' && i  0 )= '\n' && i  0 )= '\n' && i  0 )= '\n' && i  0 )= '\n' && i  0 )= '\n' && i  0 )= '\n' && i  0 )= '\n' && i  0 )= '\n' && i  0 && state == BLANK){{) > 0 )= '\n' && i < lim-1 ; ++i)  0)z  if ( s[len] != 32 && s[len] != '\t' ) 0 )= '\n' && i < lim-1 ; ++i)  0)z  state = NOT_BLANK;& s[len] != '\t' ) 0 )= '\n' && i < lim-1 ; ++i)  0)z  elsete = NOT_BLANK;& s[len] != '\t' ) 0 )= '\n' && i < lim-1 ; ++i)  0)z  --len;= NOT_BLANK;& s[len] != '\t' ) 0 )= '\n' && i < lim-1 ; ++i)  0)z  } --len;= NOT_BLANK;& s[len] != '\t' ) 0 )= '\n' && i = 0 )LANK;& s[len] != '\t' ) 0 )= '\n' && i < lim-1 ; ++i)  0)z  s[len+1] = '\0';NK;& s[len] != '\t' ) 0 )= '\n' && i < lim-1 ; ++i)  0)z  elseen+1] = '\0';NK;& s[len] != '\t' ) 0 )= '\n' && i < lim-1 ; ++i)  0)z  return 0;= '\0';NK;& s[len] != '\t' ) 0 )= '\n' && i < lim-1 ; ++i)  0)z  return len; '\0';NK;& s[len] != '\t' ) 0 )= '\n' && i < lim-1 ; ++i)  0)z  }return len; '\0';NK;& s[len] != '\t' ) 0 )= '\n' && i < lim-1 ; ++i)  0)z  void copy ( char to[], char from [] ){) 0 )= '\n' && i < lim-1 ; ++i)  0)z  int i;py ( char to[], char from [] ){) 0 )= '\n' && i < lim-1 ; ++i)  0)z  for ( i = 0 ; from [i] != '\0' ; ++i)) 0 )= '\n' && i < lim-1 ; ++i)  0)z  to [i] = from [i] ;i] != '\0' ; ++i)) 0 )= '\n' && i < lim-1 ; ++i)  0)z