#include<stdio.h>
#include<windows.h>
#include<string.h>
#include<stdlib.h>
int my_strlen_2(const char* str_2)
{
//递归实现
assert(str_2 != NULL);
if(*str_2)
return 1+my_strlen_2(str_2+1);
else
return 0;
}
int my_strlen_1(const char* str_1)
{
//非递归实现
int count = 0;
assert(str_1 != NULL);
while( *str_1 )
{
count++;
str_1++;
}
return count;
}
int main()
{
int len_1 = my_strlen_1("abcdef");
int len_2 = my_strlen_2("abcdef");
printf("len_1 = %d\n",len_1);
printf("len_2 = %d\n",len_2);
system("pause");
return 0;
}
递归和非递归分别实现strlen(C语言)
最新推荐文章于 2023-06-04 22:13:08 发布