1、strlen函数的各个参数介绍

size_t strlen (const char* str)

①函数名为strlen

②返回值类型为size_t,这是一个无符号的类型,可能是整型,也可能是长整型。

③函数的参数是一个字符类型的数组,这个数组用char*类型来接收,且这个数组内容不能被修改。

2、strlen函数的作用

strlen函数是用来求字符串长度的函数,这个函数遇到‘\0’就会停止,且这个长度不包含‘\0’。

如,字符串“abcd\0ef”,这个字符串的长度为4,遇到'\0'之后就不再数了,且长度不包含‘\0’。

3、易错处分析

①返回值类型为无符号整数,这就使得我们在使用时会出现一种情况,见代码如下:

#include

#include

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;

}

胡润百富
电脑全屏任务栏不消失怎么办 电脑全屏下面的任务栏隐藏方法【详解】