#define _CRT_SECURE_NO_WARNINGS 1
// 3 种方法带你实现自定义函数求字符串长度函数:
// 1.计数器
// 2.递归
// 3.指针 — 指针
//#include<stdio.h>
//#include<assert.h>
//
//int my_strlen(const char* str)//我们遍历数组就行了,我们不希望改变字符串的内容,所以加const将其保护起来,
// //const 在* 左 ,让*str所指向的内容无法修改,
//{
// assert(str); // 为了保证这个指针是安全的,我们断言一下;
// int count = 0;
// while(*str != '\0')
// {
// count++;
// str++;
// }
// return count;
//}
//
//int main()
//{
// char arr[] = "bit";
// int len = my_strlen(arr);
// printf("%d\n", len);
// return 0;
//}
//递归版 就可以不用创建临时变量
//#include<stdio.h>
//#include<assert.h>
//
//
//int my_strlen(const char* str)
//{
// assert(str);
// if (*str != '\0')
// return 1 + my_strlen(str + 1);
// else
// return 0;
//}
//
//int main()
//{
// char arr[] = "bit";
// int len = my_strlen(arr);
// printf("%d\n", len);
// return 0;
//}
// 指针 - 指针
#include<stdio.h>
#include<assert.h>
int my_strlen(const char* str)
{
assert(str);
char* p = str;
while(*p != '\0')
p++;
return p - str;
}
int main()
{
char arr[] = "bit";
int len = my_strlen(arr);
printf("%d\n", len);
return 0;
}
3 种方法带你实现自定义函数求字符串长度函数
最新推荐文章于 2023-11-13 00:52:42 发布