c语言strlen函数问题

 我来答
惠企百科
2022-12-14 · 百度认证:北京惠企网络技术有限公司官方账号
惠企百科
向TA提问
展开全部

strlen实际上是,从参数表示的地址往后找,找到第一个'\0',即串尾。然后计算'\0'至首地址的“距离”,即隔了几个字符,从而得出长度。

charx[]={0xBC,0xDD,0xCA};中,实际上是定义了一个char型的数组,而由于x[0],即0xBC开始往后找,一直到0xCA,都没'\0',所以会继续往后。当然,实际上往后找到的是其他值。

改charx[]={0xBC,0xDD,0xCA,0x00};后,应该就是3了。

扩展资料:

strlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回计数器值(长度不包含'\0')。

函数原型

externunsignedintstrlen(char*s);

在VisualC++6.0或Dev-C++中,原型为

size_tstrlen(constchar*string);

,其中size_t实际上是unsignedint,在VC6.0或Dev-C++中可以看到这样的代码:

typedefunsignedintsize_t;

头文件:string.h或cstring

格式:strlen(字符数组名)

功能:计算给定字符串的(unsignedint型)长度,不包括'\0'在内

说明:返回s的长度,不包括结束符NULL。

参考资料:strlen-百度百科

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式