您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页strlen()函数的使用及其实现

strlen()函数的使用及其实现

来源:华佗小知识

1.strlen函数的使用

#include<stdio.h>
#include<string.h>
int main()
{
	char arr[] = "abcdef";
	int len = strlen(arr); //strlen函数头文件为 #include<string.h>
	printf("该字符串的长度是%d\n", len);
	return 0;
}

代码运行结果如下:

a.自己写一个函数,测量字符串的长度
模拟strlen()函数,它测量的是“\0”前面的字符串的长度,故可以用一个计数器,当这个字符不是“\0”时,count+1,直到遇到"\0"。

#include<stdio.h>
int my_strlen(char* str)
{
	int count = 0;
	while (*str != '\0')//如果是字符的话就进入循环,进行count+1.
	{
		count++;
		str++;
	}
	return count;

}
int main()
{
	char arr[] = "abcdef";
	int len = my_strlen(arr);//传数组名在这里指的是传的数组的首地址,所以上面要用指针接受。
	printf("该字符串的长度是%d\n", len);
	return 0;
}

代码运行结果如下:

b.另一种实现方法就是用函数的递归。

#include<stdio.h>
int my_strlen(char* str)
{
	if (*str != '\0')
		return 1 + my_strlen(str + 1);
	else
		return 0;
}
int main()
{
	char arr[] = "abcdef";
	int len = my_strlen(arr);
	printf("该字符串的长度是%d\n", len);
	return 0;
}

代码运行结果如下:

int my_strlen(char* arr)
{
	char* left = arr;
	while (*arr)
	{
		arr++;
	}
	return arr - left;
}
int main()
{
	char arr[] = "haoke";
	int len = my_strlen(arr);
	printf("%d\n", len);
}

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务