Find the length of the array && strlen find the length


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;
}

打印结果如下:

Insert picture description here


而求数组的长度,这与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的长度

Guess you like

Origin blog.csdn.net/cfk17829572643/article/details/111941784