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