//sizeof算的是 /字节/ 数, (可以看作一种运算符)
//{'a','b','c','d'}算出4
//“abcd”算出4+1(1是默认后有 \0 )
//strlen算的是'\0'以前的 /字符/ 个数 (库函数,头文件<string.h>)
//{'a','b','c','d'}算出未知数(\0位置随机)
//{'a','b','c','d','\0'}算出4
//“abcd”算出 4
#include<stdio.h>
#include<string.h>
int main()
{
char arr1[]={'a','b','c','d'};
char arr2[]={'a','b','c','d','\0'};
char arr3[]="abcd";
printf("%d\n",sizeof(arr1));
printf("%d\n",sizeof(arr2));
printf("%d\n",sizeof(arr3));
printf("\n");
printf("%d\n",strlen(arr1));//这个是随机值
printf("%d\n",strlen(arr2));
printf("%d\n",strlen(arr3));
return 0;
}
结果: 4 5 5 随机 4 4