Cómo introducir el valor de EOF en el terminal

Tengo un progtwig de C.

void main () { int c=1; if (getchar()!=EOF) printf("%d",c); else printf("%"); } 

¿Qué debo escribir en la entrada estándar en la terminal para producir un EOF?

No está seguro de lo que quiere decir con la variable c , su valor nunca se cambia, por lo que parece un poco inútil.

En Windows, Control + Z es el método abreviado de teclado típico que significa “fin de archivo”, en Linux y Unix suele ser Control + D.

  1. EOF está envuelto en una macro por una razón: nunca necesita saber el valor.
  2. Desde la línea de comandos, cuando está ejecutando su progtwig, puede enviar EOF al progtwig con CtrlD (Unix) o CTRLZ (Microsoft).
  3. Para determinar cuál es el valor de EOF en su plataforma, siempre puede imprimirlo:

     printf ("%i\n", EOF); 

Puedes simular un EOF con:

  • Windows: Ctrl + Z
  • Unix: Ctrl + D

No se menciona en ninguna de las otras respuestas hasta ahora, pero es posible que deba presionar el combo de la tecla derecha (^ D o ^ Z) 2 o 3 veces para indicar realmente EOF; ver aquí para la explicación.