目录
2.2 strlen函数遇到\0就会停止,不会计算遇到第一个\0之后的长度
1. strlen函数的用法
简要说明:
使用strlen函数需要包含头文件<string.h>
strlen函数计算所求字符串的长度,并且返回所求长度
注意strlen函数返回值的类型是无符号长整形类型
用法举例:
输出结果如下图所示
2.strlen函数使用过程中的易错点
2.1 strlen的返回类型为size_t类型
由于strlen函数的返回值为无符号型,所以不可将两个返回值相减进行大小的比较
有点难以理解可以看下面的代码
输出结果如下图
求出的结果与认知相符,将strlen(arr1) - strlen(arr2)相互替换位置后再进行测试
代码与结果如下图
结果仍是arr1大于arr2 为什么会出现这种结果呢?
这是由于strlen函数返回类型是无符号整形,所以两个无符号整形相减所得的结果仍未无符号整形所以返回值一定>=0
2.2 strlen函数遇到\0就会停止,不会计算遇到第一个\0之后的长度
对上述测试代码进行简要修改如下
结果如下
只计算量Hello的长度
3 strlen函数的模拟实现(三种方式)
strlen函数是由库函数提供的,那么我们能不能自己模拟出这个函数呢?
本文提供三种可供参考的方法
3.1循环+计数器法
此方法较为简单容易想到,代码如下
运行结果如下
3.2 利用指针减去指针的方法
代码如下
运行结果如下
3.3 利用递归思想
代码如下
运行结果如下
以上三种方法都使用到了指针,并且由结果来看递归方法的效率较高
四.总结
strlen函数遇到\0就会停止,不会计算遇到第一个\0之后的长度
注意strlen函数返回值的类型是无符号长整形类型
如果对你有用的话点赞+收藏一下吧
谢谢大家~