Zakończenie zerowania tablicy znaków

Rozważmy następujący przypadek:

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

Moje pytanie brzmi, czy charA[5] zawiera tylko dwa znaki. Powiedz „ab”A[0]='a', A[1]='b' iA[2]='\0'. Ale jeśli dane wejściowe mówią „abcde”, to gdzie jest'\0' w tym wypadku. BędzieA[5] zawierać'\0'? Jeśli tak, to dlaczego?sizeof(A) zawsze zwróci 5 jako odpowiedź. Wtedy, gdy tablica jest pełna, jest zarezerwowany dodatkowy bajt'\0' którysizeof() nie liczy się?

questionAnswers(8)

yourAnswerToTheQuestion