#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<windows.h>
#include<string.h>
#include<stdlib.h>
#include<assert.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
最新推荐文章于 2021-07-23 16:18:16 发布