C语言中strlen()函数的使用详解
作者:不会算法的笨小孩
strlen函数是用来求字符串长度的函数,这个函数遇到‘\0’就会停止,且这个长度不包含‘\0’,这篇文章给大家介绍了C语言中strlen()函数的使用,感兴趣的朋友一起看看吧
1、strlen函数的各个参数介绍
size_t strlen (const char* str)
①函数名为strlen
②返回值类型为size_t,这是一个无符号的类型,可能是整型,也可能是长整型。
③函数的参数是一个字符类型的数组,这个数组用char*类型来接收,且这个数组内容不能被修改。
2、strlen函数的作用
strlen函数是用来求字符串长度的函数,这个函数遇到‘\0’就会停止,且这个长度不包含‘\0’。
如,字符串“abcd\0ef”,这个字符串的长度为4,遇到'\0'之后就不再数了,且长度不包含‘\0’。
3、易错处分析
①返回值类型为无符号整数,这就使得我们在使用时会出现一种情况,见代码如下:
#include<stdio.h> #include<string.h> int main() { if (strlen("abc") - strlen("abcdef") >= 0) printf(">=\n"); else printf("<\n"); return 0; }
通过代码,我们可能觉得这个打印的是“<”,但是,strlen函数返回的是无符号整数,无符号整数-无符号整数还是无符号整数,无符号整数是永远>=0的,所以打印的会是">="。运行结果如下:
4、模拟实现
①方法一:计数器
size_t my_strlen1(const char* ch) { size_t count = 0; while (*ch) { count++; ch++; } return count; }
②方法二:递归
size_t my_strlen2(const char* ch) { if (*ch == '\0') return 0; return my_strlen2(ch + 1) + 1; }
③方法三:指针-指针
size_t my_strlen3(const char* ch) { char* p = ch; while (*p) { p++; } return p - ch; }
到此这篇关于C语言中strlen()函数的使用详解的文章就介绍到这了,更多相关C语言strlen()函数使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!