#include <stdio.h>
#include <string.h>
int main()
{
char arr[]={'a','b','c'}; //[a b c][ ?\0 ]
printf("%d",strlen(arr)); //随机值
return 0;
}
strlen计算字符串长度,“\0”是结束标志
#include <stdio.h>
#include <string.h>
int main()
{
char arr[4]={'a','b','c'};
//不完全初始化,剩余部分默认初始化为0('\0'的ASCII值为0)
printf("%d",strlen(arr)); //3
return 0;
}
花括号中提供的初始值个数(即字符个数)不得大于数组长度
用字符串常量来使字符数组初始化 例如:char c[]={"China"};
也可省略花括号,直接写成char c[]="China"; 此时数组c的的长度不是5,而是6,因为字符串常量的最后由系统加上一个'\0'
上面的初始化与下面的初始化相同 char c[]={'C','h','i','n','a','\0'}; 而不与下面的等价:
char c[]={'C','h','i','n','a'}; 前者的长度为6,后者的长度为5