strlen函数 模拟实现

#include <string.h>

strlen :Get the length of a string.(求字符串长度)
size_t strlen( const char *string );
注意事项
字符串已经 ‘\0’ 作为结束标志,strlen函数返回的是在字符串中 ‘\0’ 前面出现的字符个数(不包含 ‘\0’ )。
参数指向的字符串必须要以 ‘\0’ 结束。
注意函数的返回值为size_t,是无符号的(

“hello bit.\n”
这种由双引号(Double Quote)引起来的一串字符称为字符串字面值(String Literal),或者简称字符串。
注:字符串的结束标志是一个 \0 的转义字符。在计算字符串长度的时候 \0 是结束标志,不算作字符串内容

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>

size_t my_strlen1(const char*string)
{
	int count = 0;
	while (*string)
	{
		++string;
		++count;
	}
	return count;
}


size_t my_strlen2(const char*string)
{
	const char* p = string;
	while (*string)
	{
		string++;
	}
	return string - p;
}
size_t my_strlen3(const char*string)//递归
{
	if (*string==0)
	{
		return 0;
	}
	else
	{
		++string;
	return 1 + my_strlen3(string);
	}

}

int main()
{
	const char* string1 = "absakbajsbakabdsja";
	printf("%d\n",strlen(string1));
	printf("%d\n", my_strlen1(string1));
	printf("%d\n",my_strlen2(string1));
	printf("%d\n",my_strlen3 (string1));
	return 0;

}
发布了24 篇原创文章 · 获赞 1 · 访问量 383

猜你喜欢

转载自blog.csdn.net/weixin_43519514/article/details/102602632