标签:strlen三种实现方式
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
int my_strlen(const char *p)
{
int count = 0;
assert(p!=NULL);
while (*p)
{
count++;
p++;
}
return count;
}//遍历字符串
int my_strlen_2(const char *p)
{
assert(p!=NULL);
static int count = 0;
if (*p != 0)
{
count++;
my_strlen_2(++p);
}
return count;
}//递归实现
int my_strlen_3(const char *p)
{
assert(p!=NULL);
const char *str = p;
while (*str++);
return ((int)str-(int)p-1);
}//地址相减实现
int main()
{
char str[10] = "abcdefg";
//int ret = my_strlen(str);
//int ret = my_strlen_2(str);
//int ret = my_strlen_3(str);
printf("%d",ret);
system("pause");
return 0;
}
标签:strlen三种实现方式
原文地址:http://10613624.blog.51cto.com/10603624/1692485