strlen模拟实现三种

//模拟实现strlen
//1.计数器
 //size_t my_strlen(const char* str)
{
	assert(str);
	int count = 0;
	while (*str != '\0')
	{
		count++;
		str++;
	}
	return count;
}
2.指针
 // //size_t my_strlen(const char* str)
{
	assert(str);
	char * ret = str;
	while (*str != '\0')
	{
		str++;
	}
	return str - ret;
}
3.递归
  size_t my_strlen(const char* str)
{
 assert(str);
 if (*str != '\0')
 {
	 return 1 + my_strlen(str + 1);
 }
 else
 {
	 return 0;
 }
}
int main()
{
	char arr[] = "abcdef";
	size_t ret = my_strlen(arr);
	printf("%d\n", ret);
	return 0;
}

你可能感兴趣的:(算法)