如char a[]={‘a’,’b’,’c’}; char a[5]={ ‘a’,’b’,’c’}他们的分别strlen和sizeof为多少?

如题所述

前者:
strlen:不确定,因为没有字符串结束符 '\0',长度是任意的
sizeof:3,因为定义时定义了3个字符,因此数组大小被定为3

后者:
strlen:不确定,因为没有字符串结束符 '\0',长度是任意的
sizeof:5,因为定义时定义了a的大小为5
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-09-21
sizeof分别为3和5

char a[]的strlen不确定,因为其没有字符串结束符'\0',要看系统内存状况。

char a[5]的strlen为3,因其前面三个字符初始化为abc,后面填充0.
第2个回答  2012-09-21
a【】:strlen为3 sizeof为4
a【5】:strlen为3 sizeof为5
strlen 是返回字符串的长度。
而sizeof,却是用来取得变量或类型所占用的内存大小的。
第3个回答  2012-09-21
char a[]={‘a’,’b’,’c’};
strlen是3

sizeof是4

char a[5]={ ‘a’,’b’,’c’}
strlen是3
sizeof是5本回答被提问者和网友采纳
第4个回答  2012-09-21
c/c++里面,字符串是以\0结尾的
char a[]={‘a’,’b’,’c’};要加上一个结束符\0,故是a[4,]这里也即是a[4]="abc",长度是3,大小4
char a[5]={ ‘a’,’b’,’c’},这里既是a[5]="abc",长度是3,大小是5
相似回答