为什么字符串的长度会变得如此奇怪,求解。
程序代码:
#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?谢谢。