先说明一下strlen函数的定义:int strlen(const char* str);
函数在计算字符串长度时只求出了元素的个数,而且不包括'/0'
下面就是具体的实现代码,关键步骤都有注释:
#include<stdio.h>
#include<assert.h>
int my_strlen(const char* arr)
{
assert(arr != NULL);//先判断arr指针的有效性
int a = 0;
while (*arr)//循环到'/0'处循环停止,字符串长度即为a
{
arr++;
a++;
}
return a;//将a即字符串中的字符个数返回
}
int main()
{
char arr[] = "abcdef";
int i = my_strlen(arr);//将返回的a存入i中
printf("%d ", i);//打印字符串长度
return 0;
}