13,825
社区成员
发帖
与我相关
我的任务
分享
char a[5];
//那么这个数组a只有5个元素,它们分别是:
// a[0],a[1],a[2],a[3],a[4]
//你要使用a[5],它实际上是超出了你定义的数组范围,直接指向了一个内存地址
//这个内存地址内容是随机的,原因就和三楼说的一样
char a[]="china";
//sizeof a[] 等于6是正常的啊,因为"china"占5个字符,最后还有一个“\0”作为结束字符。。。。sizeof统计的是数组长度
//此时,strlen[a]等于5,因为strlen函数统计的是有效字符,即整个字符串中第一次出现“\0”之前的那些字符的个数