本文里主要会通过3种方法解决该问题:
- while循环,计数器方法
- 递归实现字符统计
- 指针的方法
三种方法由易到难,读者可以自行选择阅读
1.while循环
#include <stdio.h>
#include <string.h>
int my_strlen_my(char* str) {
int count = 0;
while (*str != '\0') {
str++;//每次对str指针进行+1操作,直到遇到字符串结束标志,这里涉及到指针的运算
count++;
return count;
}
}
int main()
{
char arr1[] = { "abcdefg" };
int count = my_strlen_my(arr1);
printf("长度=%d", count);
return 0;
}
这里的思路是arr1里有几个元素,,则计数器count就++几次,最终得到目的,这是最简单的办法
2.递归
递归的一种粗暴的理解就是我已经可以实现该用处,在递归的时候我们可以认为我们的函数my_strlen_my已经可以实现我们的功能,则我们可以将计算整个字符长度简化为第一个字符的长