C语言模拟实现库函数strlen(递归和非递归实现)

  • 时间:
  • 浏览:
  • 来源:互联网

非递归实现:

#include<stdio.h>
#include<windows.h>
int MyStrlen(char* str)
{
	//模拟实现strlen函数
	int count = 0;
	while (*str != '\0')
	{
		count++;
		str++;
	}
	return count;
}
int main()
{
	char arr[] = "abcd1235";
	printf("%d\n", MyStrlen(arr));
	system("pause");
	return 0;
}
//运行环境:vs2019

附图:
在这里插入图片描述

递归实现:

#include<stdio.h>
#include<windows.h>
int MyStrlen(char* str)
{
	//模拟实现strlen函数
	if(*str == '\0')
	{
		return 0;
	}
	return 1 + MyStrlen(str + 1);
}
int main()
{
	char arr[] = "abcd1235";
	printf("%d\n", MyStrlen(arr));
	system("pause");
	return 0;
}
//环境运行:vs2019

附图:
在这里插入图片描述

本文链接http://element-ui.cn/news/show-367370.aspx