首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >数组strlen和sizeof常见误区

数组strlen和sizeof常见误区

作者头像
用户11915063
发布2025-11-20 09:08:29
发布2025-11-20 09:08:29
410
举报

 1.计算字符串元素个数                                                                                                                    在计算字符串长度时我们通常会使用到strlen和sizeof这两个去计算字符串的长度,而他们的区别在哪呢?

这里我们假设给出一个字符串“abcdef”他的元素个数有几个呢?我们通过代码来实现。

 这里我也给大家注释了sizeof计算的是总的元素个数(包含\0),我们都知道字符串最后都隐藏了一个“\0”,sizeof会把“\0”也计算在内,而strlen计算的是有效的元素个数(\0之前的元素个数),通俗地说就是屏幕上的字符串有几个就是几个,我们运行代码看一下我们的结果

 这里呢我们看到sz的输出值为7,而len的输出值为6,这与我们解释的相符打击一定要牢记他们的区别,在做题中大家往往会忽略这些小的细节。接下来主包就出一道题来考一下大家

 这里我们定义了数组的下标,左下标是0,但是右下标我们应该怎样用strlen和sizeof分别表示出来呢?在解答这个问题之前我们先分别使用strlen和sizeof把数组arr1的长度打印出来看一下

注意:这里的空格也计算在内

这里的右下标应该怎样用strlen和sizeof表示呢?

大家想的结果跟我的一样吗?我来跟大家解释一下:这里我们数出来arr1数组有15个元素,所以对应的下标依次是0-14,而我们使用sizeof时计算的是16,所以要对应到相应的下标就要-2,而strlen计算的是结果为15,所以对应的下标就要用strlen-1结果才正确。

最后给大家再次总结一下: sizeof计算的是总的元素个数(包含\0)  

                                            strlen计算的是有效的元素个数(\0之前的元素个数)

这里就跟大家讲这一个知识点,避免大家出错,希望给大家带来帮助 

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-06-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档