strlen函数的实现:
strlen的定义:它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回计数器值(长度不包含'\0')。
方法一:(普通的实现方法)
int my_strlen(const char *str)
{
int ret=0;
while (*str)
{
ret++;
str++;
}
return ret;
}
方法二:(不创建临时变量,应用递归方法实现)
int my_strlen(const char *str)
{
if(*str!='\0')
{
return 0;
}
else
{
return 1+my_strlen(str+1);
}
}
方法三:应用指针减指针的方法(注:指针与指针只能减法运算不可执行其他算术运算)
int my_strlen(const char*str)
{
char *p=str;
while (*p!='\0')
{
p++;
}
return p-str;
}