1.使用简单的循环来实现
int my_strlen(char* str)
{
int count = 0;
while (*str != '\0')
{
count++;
str++;
}
return count;
}
#include<stdio.h>
int main()
{
char arr[] = { 0 };
scanf("%s", arr);
int len = my_strlen(arr);
printf("字符串长度为%d\n", len);
return 0;
}
2.使用了函数递归的方式来实现
int my_strlen(char str[500])
{
if (*str != '\0')
return 1 + my_strlen(++str);
else
return 0;
}
int main()
{
char arr[500] = { 0 };
scanf("%s", arr);
int len = my_strlen(arr);
printf("字符串长度是%d\n", len);
return 0;
}
3.使用了指针来实现
int my_strlen(char* str)
{
char* start = str;
while (*str != '\0')
{
str++;
}
return str - start;
}
int main()
{
int len = my_strlen("abc");
printf("%d\n", len);
return 0;
}