#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'
。
但如果输入是 "abcde",那么在这种情况下 '\0'
在哪里?A[5]
是否包括 '\0'
?
如果是,为什么?
sizeof(A)
将始终返回 5。那么当数组已满时,是否有一个额外的字节保留用于 '\0'
,而 sizeof()
不计算它?