#include "stdio.h"
#include "string.h"
void main()
{
char a1[10]={'a','b','c','d'};
char a2[]={'x','y','z'};
char a3[]="sdfg";
char a4[4]="abc";
char a5[4]={'e','f','g','h'};
printf("%d,%d\n",sizeof(a1),strlen(a1));
printf("%d,%d\n",sizeof(a2),strlen(a2));
printf("%d,%d\n",sizeof(a3),strlen(a3));
printf("%d,%d\n",sizeof(a4),strlen(a4));
printf("%d,%d\n",sizeof(a5),strlen(a5));
}
讲一下为什么是那种结果
a2没有说明长度,那位什么会找不到\0呢???又没有越界,a2的长度又赋值的长度决定的呀????