Рассмотрим следующий случай:
#include<stdio.h>
int main()
{
char A[5];
scanf("%s",A);
printf("%s",A);
}
Мой вопрос в том, что char A[5] содержит только два символа. Скажите "ab", затем A[0]='a', A[1]='b' и A[2]='\0'.
Но если вход скажет: "abcde", тогда где '\0' в этом случае. Будет ли A[5] содержать '\0'?
Если да, то почему?
sizeof(A) всегда будет возвращать 5 в качестве ответа. Затем, когда массив заполнен, есть ли дополнительный байт, зарезервированный для '\0', который sizeof() не учитывается?