# include <stdio.h>
//递归方法
int my_strlen(char *str)
{
if (*str == '\0')
{
return 0;
}
else
return 1 + my_strlen(++str);
}
int main(void)
{
char *a = "abscdfghjj";
printf("%d\n", my_strlen(a));
return 0;
}
//指针相减
int my_strlen(const char *str)
{
const char *cur = str; //利用一个变量记录字符串的首地址
while (*str)
{
str++;
}
return str - cur;
}
int main(void)
{
char *a = "abscdfghjj";
printf("%d\n", my_strlen(a));
return 0;
}