如何求字符串的长度?
首先要明白字符串存储的原理。
字符串存储时,是以'\0'结尾,这个就可以作为判断字符串结尾的一个条件。
接下来,只要有字符串的首元素地址,就可以解决求字符串长度的问题啦!
第一种,普通版
int my_strlen(char* str)
{
int count = 0;
while(*str != '\0')
{
count++;
str++;
}
return count;
}
int main()
{
char arr[] = "abcdef";
int len = my_strlen(arr);
printf("字符串的长度为%d\n", len);
return 0;
}
第二种,递归版
int my_strlen(char* str)
{
if (*str == '\0')
return 0;
else
return 1 + my_strlen(str + 1);
}
第三种,指针版
通过指针运算,利用指针-指针可以求得字符串的长度。
int my_strlen(char* str)
{
char* start = str;
while (*str != '\0')
{
str++;
}
return str - start;
}