strlen求字符串长度:只求有效字符串的长度,不包括'\0'
即'\0'前面所有的字符
int main()
{
char acX[] = "abcdefg";
char acY[] = { 'a','b','c','d','e','f','g'};//数组中没有'\0',那么strlen求长度为随机值
int len = strlen(acX);
int len1 = strlen(acY);
printf("len=%d\n", len);
printf("len1=%d\n", len1);
return 0;
}
打印结果如下:
而求数组的长度,这与strlen求长度是有区别的
strlen是求字符串的长度,而求数组的长度即可以理解为数组内所占元素的个数
如下题:
char acX[] = “abcdefg”;
char acY[] = {‘a’,’b’,’c’,’d’,’e’,’f’,’g’};
A.数组acX和数组acY等价
B.数组acX和数组acY的长度相同
C.
D.数组acX的长度小于数组acY的长度
acX和acY都是字符数组,但是初始化表达式不同,acX和acY的区别如下:
acX:数组中总共有8个元素,分别是:'a','b','c','d','e','f','g','\0'
acY:数组中总共有7个元素,分别是:'a','b','c','d','e','f','g'
所以,数组acX的长度大于数组acY的长度