题目要求
算法
strlen函数功能是计算字符串中字符的个数.(除\0外)
而字符串本身就是一个字符数组,只不过末尾以\0结束.
因此,我们只需遍历除\0之外的所有字符即可.
有三种方法可以解决这个问题.
算法总结
方法一:设置一个整型计数器,遍历字符串.
方法二:通过不断函数自身的递归.
方法三:与方法一类似,设置一个char*变量标记字符串尾部,通过指针相减得到字符长度.
核心代码
//方法一:通过设置整型计数器,模拟实现strlen函数. int my_strlen1(const char *str){ assert(str); int count = 0; while(*str++){ count++; } return count; } //方法二:通过递归,模拟实现strlen函数 int my_strlen2(const char *str){ assert(str); if(*str){ return (1+my_strlen2(str+1)); } return 0; } //方法三:通过char*变量,模拟实现strlen函数 int my_strlen3(const char *str){