对于给定的一个字符串,并求出其长度,这在C语言中是一个比较简单的实现。
在本文中,对于求字符串的长度,我总结了三种方法来实现。下面将一一列举:
1.使用while循环实现,最终返回计数器count的值。代码如下:
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
int my_strlen1(char *str)
{
assert(*str);
int count = 0;
while (*str)
{
count++;
str++;
}
return count;
}
int main()
{
char *p = "abcdef";
int len = my_strlen1(p);
printf("%d",len);
system("pause");
return 0;
}
2.使用递归实现。代码如下:
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
int my_strlen2(char *str)
{
assert(*str);
if (*str == '\0')
return 0;
else
return 1 + my_strlen2(str + 1);
}
int main()
{
char *p = "abcdef";
int len = my_strlen2(p);
printf("%d", len);
system("pause");
return 0;
}
3.使用指针—指针的方式实现,最终返回指针间的差值。代码如下:
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
int my_strlen3(char *str)
{
assert(*str);
char *atr = str;
while (*str)
{
str++;
}
return str-atr;
}
int main()
{
char *p = "abcdef";
int len = my_strlen3(p);
printf("%d", len);
system("pause");
return 0;
}