Terminação nula de matriz de char

Considere o seguinte caso:

#include<stdio.h>
int main()
{
    char A[5];
    scanf("%s",A);
    printf("%s",A);
}

Minha pergunta é se charA[5] contém apenas dois caracteres. Diga "ab" e depoisA[0]='a', A[1]='b' eA[2]='\0'. Mas se a entrada for "abcde", então onde está'\0' nesse caso. VaiA[5] conter'\0'? Se sim, porque?sizeof(A) sempre retornará 5 como resposta. Então, quando a matriz está cheia, existe um byte extra reservado para'\0' qualsizeof() não conta?

questionAnswers(8)

yourAnswerToTheQuestion