//第一种方法:
#include <stdio.h>
int my_strlen(char *str)
{
int ret = 0;
while (*str)
{
str++;
ret++;
}
return str;
}
int main()
{
char *p = "abcdef";
printf("%d\n", my_strlen(p));
return 0;
}
第二种方法:
#include <stdio.h>
int my_strlen(char *str)
{
char *left = str;
while (*str)
{
str++;
}
return str - left;
}
int main()
{
char *p = "abcde";
printf("%d\n", my_strlen(p));
return 0;
}
//第三种:
#include<stdio.h>
int my_strlen(const char *str)
{
if (*str==‘\0‘)
{
return 0;
}
else
{
return 1 + my_strlen(str + 1);
}
}
int main()
{
char *p = "abcdef";
printf("%d\n", my_strlen(p));
return 0;
}原文:http://10706198.blog.51cto.com/10696198/1706407