strlen函数计算原理
strlen函数是C语言中的标准库函数,用于计算字符串的长度(即字符串中字符的个数)。该函数的原理是遍历字符串,直到遇到字符串的结束符’\0’时停止,并返回遍历的次数(即字符串的长度)。
根据计算原理,这里有三种方法来模拟实现srtlen函数。循环、递归、指针运算。
#include<stdio.h>
#include<assert.h>
int strlen_1(char* string)// 循环
{
assert(string != NULL);
int cont = 0;
while (*(string) != '\0')
{
string = string + 1;
cont++;
}
return cont;
}
int strlen_2(char* string)// 指针
{
assert(string != NULL);
char* a = string;
while (*a != '\0')
{
a++;
}
return a - string;
}
int strlen_3(char* string)// 递归
{
assert(string != NULL);
if (*string != '\0')
{
return 1 + strlen_3(string + 1);
}
else
{
return 0;
}
}
int main()
{
char arr[] = "abcde";
int b1 = strlen_1(arr);// 循环
int b2 = strlen_2(arr);// 指针
int b3 = strlen_3(arr);// 递归
printf("%d ", b1);
printf("%d ", b2);
printf("%d ", b3);
return 0;
}