¿Por qué Ctrl-Z no activa EOF?

Por quéCtrl+Z no activa el ciclo para terminar en el siguiente programa pequeño?

#include <stdio.h>

main()
{
    int c;
    while ((c = getchar()) != EOF)
    {
        //nothing 
    }

    return 0;
}

Si entro:test^ZEnter, no se sale del bucle.

Encontré preguntas relacionadas alrededor de (aquí yaquí) pero ninguno para explicarlo para C (no C ++) en Windows.

Nota: Uso Visual Studio 2015 PRE en Windows 8.1

Respuestas a la pregunta(2)

Su respuesta a la pregunta