牛骨文教育服务平台(让学习变的简单)
博文笔记

面试题 模拟实现strlen函数的3种方法。

创建时间:2016-08-03 投稿人: 浏览次数:2441
第一种方法是用计数器模拟实现strlen函数。
#include<stdio.h>
#include<assert.h>
int my_strlen(const char *str)
{
	int count = 0;
	assert(str!=NULL);
	while(*str!="")
	{
		str++;
		count++;
	}
	return count;
}
int main()
{
	int ret = 0;
	char arr[10]="abcdefgh";
	ret = my_strlen(arr);
	printf("%d
",ret);
	return 0;
}
第二种方法是用指针减指针的方法模拟实现strlen函数。
#include<stdio.h>
int my_strlen(const char *str)
{
	const char *p = str;
	while(*p!="")
	{
		p++;
	}
	return p-str;
}
int main()
{
	int ret = 0;
	char arr[10]="abcdefgh";
	ret = my_strlen(arr);
	printf("%d
",ret);
	return 0;
}
第三种是用函数递归的方法模拟实现strlen函数。
#include<stdio.h>
int my_strlen(const char *str)
{
	if(*str=="")
		return 0;
	else
	return 1+my_strlen(str+1);
}
int main()
{
	int ret = 0;
	char arr[10]="abcdefgh";
	ret = my_strlen(arr);
	printf("%d
",ret);
	return 0;
}
三种方法的结果都是:





声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。