您的位置:首页 > 其它

递归和非递归实现strlen

2018-03-16 15:47 302 查看
#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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: