通过C语言 创建strlen的方法有很多,这里博主就列举几个常见的
1.计数法
int my_strlen(char* arr) //函数的定义:返回类型可以是有符号型也可以使用无符号型,主要看个人习惯
{
assert(*arr);//头文件是assert.h 作用是判断传过来的参数是否有内容(可以不写)
int count = 0;//计数器
while(*arr) //判断*arr的值是否为0,不为0则进入循环
{
if (*arr)//判断*arr是否为0,不为0则进入
{
count++;
arr++;
}
}
return count;//返回值
}
2.递归法
int my_strlen(char* arr) //函数定义
{
assert(*arr);
if (*arr)
return my_strlen(arr + 1) + 1;//*arr不为0则进入my_strlen(arr+1)中
else
return 0;//*arr为0则返回0
}
3.指针相减法
int my_strlen(char* arr)//函数定义
{
asert(*arr);
int tmp = arr;//创建临时变量记录arr数组的首元素地址
while (*arr)//该循环目的是为了找到arr数组的末元素地址(也就是\0的地址)
{
if (*arr)
{
arr++;
}
}
return arr - tmp;//末元素地址减去首元素地址就是arr数组的长度
}
以上就是博主知道的strlen的建造方法,欢迎大佬补充,斧正。也希望对大家有所帮助。