C语言:Strlen()函数你了解多少?

这篇具有很好参考价值的文章主要介绍了C语言:Strlen()函数你了解多少?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、strlen()函数的介绍及用法

C语言中strlen是一种函数,主要用于计算字符串的长度。

🚩strlen()从字符串的开头位置依次往后面计数,直到遇到‘\0’停止,所计算的字符串大小为‘\0’以前的字符所计算的值,最终的字符串长度不包括‘\0’

🚩strlen因为是一种函数,因此调用这个函数需要引用的头文件是<string.h>,它的原型是size_t strlen(const char* str);str表示的是需要计算长度的字符串,由此看出传参的时候应该传的是一个地址而不是一个数值

下面是利用strlen函数求字符串长度的一个例子👀

strlen在c语言中的用法,c语言,开发语言,c++,Powered by 金山文档

为了让大家更好的理解,小编又画了个图帮助大家理解strlen函数的计算

strlen在c语言中的用法,c语言,开发语言,c++,Powered by 金山文档

通过这个例子是不是对strlen函数有了一定的了解了呢👍

二、strlen函数与sizeof函数的区分

有许多初学者可能会混淆sizeof()和strlen()两个的用法,对于同一个字符串来说sizeof()计算的字符串会包含‘\0’,而strlen()不会包含,因此用sizeof计算的字符串大小会多一个字节,我们来看下面这个例子👀

strlen在c语言中的用法,c语言,开发语言,c++,Powered by 金山文档

用strlen函数计算的字符串遇到‘\0’则停止,计算了'\0'前面所有字符的大小,而sizeof则是把'\0'也包含在了里面,因此比strlen函数计算的多出了一个字节的大小

三、strlen函数的运用笔试题

既然已经对strlen函数有了一定的认识,那我们通过做一些题目来巩固一下吧

strlen在c语言中的用法,c语言,开发语言,c++,Powered by 金山文档

动手画画图可以更好地帮助理解📝


下面即将公布答案,看看自己是否已经掌握了呢💯

strlen在c语言中的用法,c语言,开发语言,c++,Powered by 金山文档

四、笔试题解析

看到答案是不是有些题觉得不可思议呢😵不用着急小编这就带着大家来揭开迷雾💭

1️⃣ printf("%d\n", strlen(arr))——输出结果:6

📖解释:arr表示的是数组arr首元素的地址,strlen(arr)从首元素a开始往后计数,遇到'\0'停止,并且返回'\0'前面的计数,因此为6个字节

2️⃣printf("%d\n", strlen(arr + 0))——输出结果:6

📖解释:arr表示的是数组arr首元素的地址,因此(arr+0)代表的仍是首元素地址,strlen(arr+0)从首元素a开始往后计数,遇到'\0'停止,并且返回'\0'前面的计数,因此为6个字节

3️⃣printf("%d\n", strlen(*arr))——无法输出结果

strlen在c语言中的用法,c语言,开发语言,c++,Powered by 金山文档

📖解释:看到这题的答案是不是瞪大了卡姿兰大眼睛感到很疑惑呢,由图我们可以看到strlen(*arr)是无法输出结果的,这是为什么呢?这还得回归到strlen函数的原型,它的原型是size_t strlen(const char* str),可以看出strlen接受的是一个地址,而*arr表示的是数组首元素的值,因此不符合传参的要求,所以无法得出结果

4️⃣printf("%d\n", strlen(arr[1]))——无法输出结果

📖解释:arr[1]表示的是数组第二个元素的值,同理3️⃣可得,此题也无法得出结果

5️⃣printf("%d\n", strlen(&arr))——输出结果:6

📖解释:&arr表示的是整个数组的地址(具体内容可以看小编前几天发布的文章),从首元素a开始往后计数,遇到'\0'停止,并且返回'\0'前面的计数,因此为6个字节

6️⃣printf("%d\n", strlen(&arr+1))——输出结果:随机值

📖解释:&arr表示的是整个数组的地址(具体内容可以看小编前几天发布的文章),(&arr+1)则表示的是跳过数组的后面那一块空间的首地址,后面的空间是未知的,不知道什么时候会再遇到‘\0’,所以strlen(&arr+1)就是一个随机值

strlen在c语言中的用法,c语言,开发语言,c++,Powered by 金山文档

7️⃣printf("%d\n", strlen(&arr[0]+1))——输出结果:5

📖解释:&arr[0]取出的是数组第一个元素的地址,所以(&arr[0]+1)就是数组第二个元素的地址,strlen(&arr[0]+1)从数组第二个元素开始计数,遇到'\0'停止,并且返回'\0'前面的计数,因此为5个字节

看完解释有没有感觉豁然开朗的感觉


初次创作,内容如有错误欢迎各位大神批评指正🙏大家如果觉得有帮助的话点个赞支持一下博主喔✊✊后续还会继续更新其他的笔试题给到大家,如感兴趣可以多多关注一下博主🔚文章来源地址https://www.toymoban.com/news/detail-735892.html

strlen在c语言中的用法,c语言,开发语言,c++,Powered by 金山文档

到了这里,关于C语言:Strlen()函数你了解多少?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【C语言】自定义实现strlen函数的3种方法

    大家好,我是苏貝,本篇博客带大家了解C语言中自定义实现strlen函数的3种方法,如果大家觉得我写的不错的话,可以给我一个赞👍吗,感谢❤️ 函数原型 :size_t strlen( const char string ); //求string的长度 头文件 :#includestring.h 返回值 :返回的是第一个目的数字的首地址,类型为

    2024年02月13日
    浏览(28)
  • 【C语言】指针进阶之sizeof和strlen函数的对比

    目录  1.sizeofyu 2.strlen函数   3.sizeof与strlen的对比   sizeof计算变量所占内存内存空间 大小 的,单位是 字节 ,如果操作数是类型的话,计算的是使⽤类型创建的变量所占内存空间的大小。 sizeof 只关注占⽤内存空间的大小,不在乎内存中存放什么数据。 举个例子: 运行结果

    2024年01月22日
    浏览(44)
  • c语言练习41:深入理解字符串函数strlen strcpy strcat

    模拟实现:”strlen   strcpy   strcat strlen   strcat:

    2024年02月09日
    浏览(35)
  • C语言中常用的字符串函数(strlen、sizeof、sscanf、sprintf、strcpy)

      strlen即为string length,顾名思义该函数是用来求字符串长度的。在介绍strlen函数之前,我们要先介绍一下\\\"\\0\\\"这个转义字符。任何一个字符串后面都会隐藏一个\\\"\\0\\\",该转义字符是字符串结束的标志,所以我们在使用strlen函数求字符串长度时,遇到\\\"\\0\\\"时停止读取,此时\\\"\\0\\\"前的

    2024年01月18日
    浏览(37)
  • 【我爱C语言】详解字符函数isdigit和字符串转换函数(atoi和snprintf实现互相转换字符串)&&三种strlen模拟实现

    🔍个人主页 : @啊森要自信的主页 ✏️ 真正相信奇迹的家伙,本身和奇迹一样了不起啊! 欢迎大家关注🔍点赞👍收藏⭐️留言📝希望看完我的文章对你有小小的帮助,如有错误,可以指出,让我们一起探讨学习交流,一起加油鸭。 本小节我们将学习字符分类函数,字符

    2024年02月04日
    浏览(41)
  • C语言sizeof和strlen的区别?

    sizeof本质是运算符(sizoof既是也是运算符,不是函数哈),而strlen就是函数。sizeof后面如果是类型,则必须加括号,如果是变量,可以不加括号。 sizeof运算符的结果类型是size_t,它在头文件中typedef为unsigned int类型。该类型保证能够容纳实现所建立的最大对象的字节大

    2024年02月10日
    浏览(34)
  • 【C语言之区分sizeof 和 strlen】

    前言: 首先,我们需要明白它们的 根本区别,sizeof属于也属于单目操作符,而strlen属于库函数 / 知识点回顾 / 单目操作符:单目运算符对应只有一个操作数 常见的单目操作符: 常见的单目操作符 描述 ! 逻辑非 ’ - ‘ 负 ’ + ‘ 正 取地址 sizeof 计算一个数据类型的

    2024年02月11日
    浏览(32)
  • PHP strlen()函数详解,PHP获取字符串长度

    「作者主页」: 士别三日wyx 「作者简介」: CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」: 对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 strlen() 可以返回 「字符串」 的 「长度」 。 语法 参数 $str :需要计算长度

    2024年02月15日
    浏览(31)
  • 【C语言】sizeof和strlen的区别【详解】

    目录 一.sizeof和strlen的主要区别 二.sizeof和strlen分别讲解(含例题和详解) 1.sizeof 在计算字符型数组时(例题+讲解) 计算整型数组(例题+讲解) 2.strlen 例子一(讲解): 例子二(讲解) 三.典型例题 例1 答案解析: 例2 答案解析: 1. sizeof 是 运算符 ,而 strlen 是C语言库函数

    2024年02月09日
    浏览(41)
  • C语言 strlen、length、size、sizeof的区别

    strlen 是 C 语言中的函数,用于计算字符串的长度(不包括字符串末尾的\\\'\\0\\\')。 仅适用于以 null 字符结尾的字符串,即 C-style 字符串。 返回值类型为 size_t 。 length 和 size 都是 C++ 中 string 类型的成员函数,用于返回字符串的长度。 可以适用于任何字符串类型,包括 std::strin

    2024年02月06日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包