1. Significa como dices, EOF. Es el valor de los ficheros de texto que determina cuando se ha terminado el susodicho fichero, o en este caso, de la entrada del usuario.
2. No has entendido el bucle. Traducido al castellano, es:
Mientras "c" no sea el final del fichero (EOF), imprimir C, y coger el siguiente caracter.
Es decir, imprime el caracter si no es EOF, luego coge el siguiente, vuelve a mirar si es EOF, y si no es, vuelve a imprimirlo y a coger otro, etc.
¿Por qué está repetido? Porque tendrá que coger el primero si quiere saber si es EOF. En realidad, el código es malillo, debería ser:
Código:
int main()
{
while(putchar(getchar())!=EOF);
}
Que significa: Imprimir el cararcter cogido, y si no es EOF, repetir.
¡Qué capacidad de síntesis en C! ¡Eh!
Me gustaría ver por aquí a [EX3] del subforo de VB6, el que decía que con VB6 los códigos son mucho más cortos que en C.