getch retorna 2 caracteres quando digito um

Quando eu uso o getch, ele sempre acrescenta o caractere lido com um caractere nulo.

Quando eu uso o seguinte código:

#include "stdafx.h"
#include <conio.h>

int main()
{
    char c = 0;

    while (c != 'x')
    {
        c = _getch();
        printf("Char read: <%c> \n", c);
    }
}

Ele retorna o seguinte no console, quando pressiono as teclas "asdx":

Char read: <a>
Char read: < >
Char read: <s>
Char read: < >
Char read: <d>
Char read: < >
Char read: <x>

Isso é compilado no VS 2017 em um novo projeto simples de arquivo único, executando em uma janela de console do Windows 10. Eu tentei remover o _UNICODE e UNICODE define.

questionAnswers(2)

yourAnswerToTheQuestion