求字符串长度的三种方法

求字符串长度的三种方法

一 递归求字符串长度

#include 
#include 
int my_strlen(const char* str)
{
	assert(str);
	if (*str != '\0')
		return 1+my_strlen(str + 1);        \\递归 依次+1到了'\0'停止
	else
		return 0;
}
int main()
{
	char arr[] = "abcdefg";
	int len=my_strlen(arr);
	printf("字符串的长度为:%d\n", len);
	return 0;

二 常规方法求字符串长度

#include 
int my_strlen(char* str)
{
	int count = 0;
	while (*str != '\0')
	{
		count++;
		str++;

	}
	return count;
}
int main()
{
	char arr[] = "abcedf";
	int len=my_strlen(arr);
	printf("%d\n", len);
	return 0;
}

三 用地址相减求字符串的长度

#include 
int my_strlen(char* str)
{
	char* start = str;
	while (*str != '\0')
	{
		str++;
	}
	return str - start;
}
int main()
{
	char arr[] = "abcdefg";
	int len = my_strlen(arr);
	printf("%d\n", len);
	return 0;
}

本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://www.net2asp.com/57dd262b83.html