多种方式实现strlen
Posted 凩子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多种方式实现strlen相关的知识,希望对你有一定的参考价值。
多种方式实现strlen
归纳一下学过的不同方法来实现strlen。
//模拟函数实现strlen
#include <stdio.h>
#include<assert.h>
int my_strlen(const char* str)
assert(str!=NULL);
int count = 0;
while (*str != '\\0')
count++;
str++;
return count;
int main()
char arr[50] = "hdfbaadk";
int len = my_strlen(arr);
printf("%d\\n", len);
return 0;
//递归实现strlen
//算hdfbaadk的个数可以先算dfbaadk的个数
//同理逐渐的减少可以算出k的个数即一个,再回过去即是字符串长度
int my_strlen(char* str)
if (*str != '\\0')
return 1 + my_strlen(str + 1);
else
return 0;
int main()
char arr[50] = "hdfbaadk";
int len = my_strlen(arr);
printf("%d\\n", len);
return 0;
//指针—指针型实现strlen(指针-指针得到的是两地址之间元素的个数)
int my_strlen(char* str)
char* start = str;
while (*str != '\\0')
str++;//‘\\0’和首元素之间的个数即为所求
return str - start;//该类型只适用于两个指针指向同一个连续空间的时候
int main()
char arr[50] = "hdfbaadk";
int len = my_strlen(arr);
printf("%d\\n", len);
return 0;
以上是关于多种方式实现strlen的主要内容,如果未能解决你的问题,请参考以下文章