使用四种方法求字符串的长度
话不多说, 直接上代码:
#include<stdio.h>
#include<string.h>
//计数器方法
int my_strlen1(char* str)
{
int count = 0;
while (*str++ != '\0')
{
count++;
}
return count;
}
//递归
int my_strlen2(char* str)
{
if (*str == '\0')
return 0;
else
return 1 + my_strlen2(str + 1);
}
//指针变量相减
int my_strlen3(char* str)
{
char* start = str;
while (*str)
{
str++;
}
return str - start;
}
int main()
{
char string[] = "hello world";
int len = strlen(string);
int len1 = my_strlen1(string);
int len2 = my_strlen2(string);
int len3 = my_strlen3(string);
printf("strlen( ):%d\n", len);
printf("my_strlen1:%d\n", len1);
printf("my_strlen2:%d\n", len2);
printf("my_strlen3:%d\n", len3);
return 0;
}
方法1: 直接使用库函数strlen( ), 使用时要包含<string.h>头文件
方法2: 利用字符串特性设置count计数器
方法3: 递归解法
方法4: 两个指针变量相减求长度