my_strlen()函数 求字符串长度

82 阅读1分钟

my_strlen()函数

C 库函数 **size_t strlen(const char *str) **计算字符串 str 的长度,直到空结束字符,但不包括空结束字符。

例如字符串{‘a’,‘b’,‘c’,‘d’,’\0’,‘e’,‘f’,‘g’,’\0’},用sizeof()所求结果为9个字节,是字符串的真实长度,而用strlen()函数求得的结果为4,是计算第一个‘\0’之前的字符串长度。

如何自我实现my_strlen()函数,是本文的重点.

代码块(指针-指针)

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

int my_strlen(const char* str)
{
	char*  start = str;
	while (*str)
	{
		str++;
	}
	return str - start;
}

main()
{
	char arr[] = { "I am a teacher !"};
	int ret = 0;
	ret = my_strlen(arr);
	printf("%d\n",ret);
}