首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C语言练习之模拟实现strlen

前言 模拟实现库函数strlen,加深对这个函数的理解。 一、思路 strlen函数是用来计算一个字符串中字符的个数,从第一个字符进行计算,当遇到'\0'时才回停止计算。...非递归 源代码 size_t my_strlen(char* str) { size_t count = 0; while (*str !...abcdefghij" }; printf("%u\n", my_strlen(arr)); return 0; } 运行截图 ---- 总结 以上就是今天要讲的内容,本文简单的介绍了用C语言模拟实现...strlen函数的思路,还进一步展示了代码的运行结果验证了作者的思路。...本文的作者也只是一个正在学习C语言等编程知识的萌新,若这篇文章中有哪些不正确的内容,请在评论区向作者指出(也可以私信作者),欢迎大佬们指点,也欢迎其他正在学习C语言的萌新和作者进行交流。

58830
您找到你想要的搜索结果了吗?
是的
没有找到

c语言strlen函数的模拟实现

1.strlen函数介绍 strlen的功能: 函数返回字符串str 的长度( 即空值结束符之前字符数目)。...这里的空值结束符号就是 ‘\0’ 在c语言中,字符串的末尾通常会自动添加 ‘\0’ 作为结束标志 eg: 如果是char str[] = {‘a’,‘b’,‘c’,‘d’,‘e’};则不会添加 ‘...; printf("%zd\n",strlen(str)); printf("%zd\n",sizeof(str)); } 输出结果如下图所示: 我们会发现 : sizeof(str); 比strlen...(str) 的结果多一 这是因为strlen()函数不统计’\0’ ,而sizeof统计’\0’ (因为统计的是整个数组的大小) 在监视窗口里我们也可以证实‘\0’的存在: 下面是strlen()...函数的官方解释: 2.strlen()函数的模拟实现 (1)循环计数法 我们在了解了strlen()函数的功能后,很容易想到利用 指针传递字符串地址,然后判断是否 == ‘\0’的操作来进行计数,代码如下

7310

C++中strlen()和sizeof()的区别

参考链接: C++ strlen() 一、sizeof  sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等...二、strlen     strlen(...)是函数,要在运行时才能计算。参数必须是字符型指针(char*)。当数组名作为参数传入时,实际上数组就退化成指针了。     ...strlen只关心存储的数据内容,不关心空间的大小和类型。     ...2.sizeof是算符,strlen是函数。  3.sizeof可以用类型做参数,strlen只能用char*做参数,且必须是以''\0''结尾的。 ...操作符不能返回动态地被分派了的数组或外部的数组的尺寸  9.数组作为参数传给函数时传的是指针而不是数组,传递的是数组的首地址,  如:  fun(char [8])  fun(char [])  都等价于 fun(char *)  在C+

90520

C语言】strlen()函数(字符串长度计算函数)

目录 一.strlen函数简介 我们先来看看cplusplus网站对strlen函数的介绍: 下面是中文翻译: 也即,当你向strlen函数传递一个字符串名作为其参数时,strlen函数会返回字符串的长度...需要注意的是: 1.使用strlen函数需要包含头文件 2.使用strlen函数计算出的字符串长度是字符串开头字符到终止空字符(也即'\0')之间的字符数。...(有关第二点在本文的第二部分会进行实操案例演示) 二.strlen函数的使用 当我们已经了解了关于strlen函数的基本内容时,就可以试着使用strlen函数求字符串长度了,下面在vs2022环境中为大家演示一下...strlen(arr)); return 0; } 上述代码就是一个简单的使用strlen函数求字符串长度的案例,同时我们并没有定义数组的大小,放在编译器中的调试结果为5。...%d\n",strlen(arr)); return 0; } 运行结果如下,同样为5: 由以上两个例子可见使用strlen函数求字符串长度的结果与字符串的定义大小无关。

9810

C 语言】C 字符串 ( 表示方法 | strcpy | strcat | strlen | strcmp )

文章目录 C 字符串表示方式 C 字符串 拷贝 ( strcpy ) C 字符串 拼接 ( strcat ) C 字符串 长度获取 ( strlen ) C 字符串 对比 ( strcmp ) C...---- C 字符串 长度获取 ( strlen ) C 字符串 长度获取 ( strlen ) : 1.方法参数 : 传入要获取长度的字符串 , 可以是字符数组 , 也可以是字符指针类型 ; 2....char * string_c_len3 = "hello"; //① 字符数组长度 , 测量从开始到 '\0' 的长度, 不包括 '\0' int len1 = strlen(string_c_len...); //② 指定大小的字符数组长度 , 结果不是指定的大小的值 , 获取的是实际字符串长度 int len2 = strlen(string_c_len2); //③ 指针表示的字符串 , 其获取的大小是实际字符串大小..., 不包含自动添加的 '\0' int len3 = strlen(string_c_len3); //④ 打印 三个字符串大小 cout << "len1 : " << len1

57320

实例分析C语言中strlen和sizeof的区别

C语言中strlen和sizeof的区别 sizeof是操作符 strlen是函数 sizeof操作符返回的是参数所占的内存数,而 strlen函数返回的是参数的字符串长度,不是所占用的内存的大小。...需要注意的是,strlen函数的参数是字符串,并且必须以串结束符“\0”结尾。看看下面的代码。.../** * @author: 冲哥 * @date: 2020/12/13 18:12 * @description:微信关注公众号【C语言中文社区】,免费领取200G精品学习资料 */ #include...sizeof之间的区别在于,通过sizeof操作符得到的是定义的字符数组str占用的内存大小,而通过strlen函数得到的是对其进行初始化的字符长度。...我们一起来看下面的代码 /** * @author: 冲哥 * @date: 2020/12/13 18:20 * @description:微信关注公众号【C语言中文社区】,免费领取200G精品学习资料

70011

c语言——关于不使用strlen求字符串长度

关于不使用strlen求字符串长度 在日常生活中,我们有时会遇到这样的题目,不使用strlen函数求字符串长度,关于这种问题,我们其实有很多的方法来解决,首先我们要了解strlen 一、strlen函数简介...len = strlen(arr); printf("%d\n",len); return 0; } 二、strlen函数的注意事项 1、strlen函数并不是任何情况都可以使用的 strlen函数并不是任何情况都可以使用的...); return 0; } 在这种情况下,数组里存储的数据没有’\0’,会导致strlen函数出现随机值,这是由于strlen函数是遇到’\0’才能停下来,没有’\0’是停不下来的 2、strlen函数的返回值也是要注意的一个点...首先我们要看的是strlen函数的返回值类型,如下图 strlen函数的返回值类似是size_t 而size_t在c语言函数编译器里是无符号整形,如下图 根据这个,我们会遇到这样的题目 int...0; } 根据上面,我们可以这样理解这个题目,strlen的返回值是无符号整形,所以不可以出现负数,根据这一点,首先我们得出strlen(“abd”)的结果为3,strlen(“abcdef”)的结果为

7310
领券