目录
方式1(递归)
方式2(循环)
方式3(指针运算)
正文
方式1(递归)
int my_strlen1(char *str)
{
if (*str == '\0')
{
return 0;
}
else
{
return 1+my_strlen1(str+1);
}
}
方式2
int my_strlen2(char *str)
{
int count = 0;
while (*str != '\0')
{
count++;
str++;
}
return count;
}
方式3
int my_strlen3(char *str)
{
char *start = str;
while (*str != 0)
{
str++;
}
return str-start;
}
test
int main(int argc, const char * argv[])
{
char *str = "abcd";
printf("1. %d\n", my_strlen1(str));
printf("2. %d\n", my_strlen2(str));
printf("3. %d\n", my_strlen3(str));
return 0;
}