为什么字符串的长度会变得如此奇怪,求解。
程序代码:#include<stdio.h>
#include<string.h>
#include<malloc.h>
int main()
{
char a1[10]="zhongguo";
char a2[10];
char *p;
int i=0;
p=a1;
printf("%d\n",strlen(a1));
while(*p!='\0')
{
printf("%c\n",*p);
a2[i]=*p;
printf("%c\n",a2[i]);
i++;
p++;
}
printf("%d\n",i);
printf("%d\n",strlen(a2));
for(i=0;i<strlen(a2);i++)
printf("%c",a2[i]);
while(1);
}
为什么strlen(a1)是8,而strlen(a2)的长度是28?谢谢。









