模拟实现strlen函数

strlen 函数用于计算字符串长度,是标准库函数,存放在#include<string.h>头文件中

#include<stdio.h>
#include<string.h>
int main()
{
	char arr[] = "hello world";
	printf("%d\n", strlen(arr));
	return 0;
}

模拟实现strlen函数

 strlen工作机制:‘\0’为字符串

结束标志,计数字符串除‘\0’的个数。

#include<stdio.h>
int my_strlen(char* str)
{
	int count = 0;
	while (*str != '\0')//循环结束标志
	{
		count++;//计数
		str++;//指针++
	}
	return count;
}
int main()
{
	char arr[] = "hello world";
	printf("%d\n", my_strlen(arr));//链式访问,传址调用 
	return 0;
}

优化:

完全用指针的方法计算字符串

指针-指针计算的是指针间元素的个数

​
#include<stdio.h>
int my_strlen(char* str)
{
	char* ret = str;
	while (*ret != '\0')
		ret++;
	return ret - str;//指针-指针计算的是指针间元素的个数
}
int main()
{
	char arr[] = "hello world";
	printf("%d\n", my_strlen(arr));//嵌套调用,链式访问
	return 0;
}

​

上一篇:2021-02-17:规定1和A对应、2和B对应、3和C对应...26和Z对应,那么一个数字字符串比


下一篇:2021-02-17:规定1和A对应、2和B对应、3和C对应...26和Z对应,那么一个数字字符串比如“111”就可以转化为:“AAA“、“KA“和“AK“。给定一个只有数字字符组成的字符串str,请