//1.计数器方法
#include<stdio.h>
#include<assert.h>
size_t my_strlen(const char* str)
{
int count = 0;
assert(str);
while (*str != '\0')
{
count++;
str++;
}
return count;
}
int main()
{
char arr[] = "abcdef";
size_t n = my_strlen(arr);
printf("%u ", n);
return 0;
}
//2.指针-指针
#include<stdio.h>
int my_strlen(char* str)
{
char *ptr = str;
while (*ptr != '\0')
{
ptr++;
}
return (ptr - str);
}
int main()
{
char arr[] = "hello";
int len = my_strlen(arr);
printf("%d", len);
return 0;
}
//3.递归
#include<stdio.h>
int my_strlen(char* str)
{
if (*str == '\0')
return 0;
else
return 1 + my_strlen(str + 1);
}
int main()
{
char arr[] = "hello";
int len = my_strlen(arr);
printf("%d", len);
return 0;
}