

求字符串长度。
语法:
size_t strlen ( const char * str );头文件 :#include
函数返回值 :size_t 类型。
函数参数 :const char* 类型。
解释 :返回C字符串str的长度。C字符串的长度是由结束空字符决定的:一个C字符串的长度是字符串开始和结束空字符之间的字符数(不包括结束空字符本身)。

- #include
-
- int MyStrlen(char* arr)
- {
- int count = 0;
- while (*arr != '\0')
- {
- arr++; // 指针指向的字符不是'\0'那就让指针加1,计数count+1;
- count++;
- }
- return count;
- }
-
- int main()
- {
- char arr[] = "abcdefr";
-
- // 调用模拟实现MyStrlen()函数。
- int result = MyStrlen(arr);
- printf("该字符串的长度为 %d\n",result);
- return 0;
- }

- #include
-
- int MyStrlen(const char* arr)
- {
- // 创建一个临时变量,对arr的初始指针位置进行记忆。
- const char* tmp = arr;
- while (*arr != '\0')
- {
- arr++;
- }
-
- // 返回值为:当前指针位置 - 初始指针位置
- return (int)(arr - tmp);
- }
-
- int main()
- {
- char arr[] = "asdasdsad";
-
- // 调用模拟实现MyStrlen()函数。
- int result = MyStrlen(arr);
- printf("该字符串的长度为 %d\n", result);
- return 0;
- }

- #include
-
- int MyStrlen(const char* arr)
- {
- // 递归结束条件。
- if (*arr == '\0')
- return 0;
- else // 递归重复调用此函数。
- return 1 + MyStrlen(arr + 1);
-
- }
-
- int main()
- {
- char arr[] = "asdasdsad";
-
- // 调用模拟实现MyStrlen()函数。
- int result = MyStrlen(arr);
- printf("该字符串的长度为 %d\n", result);
- return 0;
- }

以上我我总结的三种C语言库函数strlen()的模拟实现方式,每个人写代码的方式不一样,学习过的书写strlen()函数的写法也不一样,仅限参考,不喜勿喷哦!
