char a[]="abc";char b[4]={✀a✀,✀b✀,✀c✀,✀d✀};哪个数组长度长

2024-12-03 10:18:25
推荐回答(5个)
回答1:

占内存单元,两者都是4个,a 有一个字符串结束符。
用 sizeof(a) 和 sizeof(b) 计算它们 占内存单元大小。

字符串长度 a 是3, b 是4,
但b 不能用 strlen(b) 计算,因为它缺了字符串结束符,strlen找不到字符串结束符,得出的数值就不可靠了。

回答2:

一样长,都是4个字符串,前面那个除了abc还有一个结束符

回答3:

如果不是动态开辟的数组,你声明的时候给多少长度就是多少长度。你使用 strlen 函数求吗? strlen只能求字符串长度,没办法求数组长度。strlen 是用 '\0' 来判断字符串的结束标志的,所以第一个短

回答4:

就只比较数组长度的话,两个一样长吧。

回答5:

真对不起,一样长