Por que Ctrl-Z não dispara EOF?

Por quêCtrl+Z não aciona o loop para concluir o pequeno programa a seguir?

#include <stdio.h>

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

    return 0;
}

Se eu entrar:test^ZEnter, ele não sai do loop.

Encontrei perguntas relacionadas em torno de (aqui eaqui), mas nenhum para explicá-lo para C (não para C ++) no Windows.

Nota: Eu uso o Visual Studio 2015 PRE no Windows 8.1

questionAnswers(2)

yourAnswerToTheQuestion