strlen()函数的模拟实现

阅读: 评论:0

strlen()函数的模拟实现

strlen()函数的模拟实现

在c语言中,strlen()函数储存在string.h头文件中,作用是计算一个字符串的字符数。
实际上,这个函数内部运行中检测到则停止运行,之后返回字符数。

下面我们通过三种方法模拟实现该函数的功能。

1.计数器法

代码如下

#include <stdio.h>
#include <assert.h>
int myStrlen(const char *p)
{assert(p != NULL);int count = 0; //开始假设字符串中字符数为0while (*p != ''){count++; //p解应用得到的不是说明遇到了字符p++;     //指针指向下一个元素}return count;
}
int main()
{char arr[10] = "cdefgab";int ret = myStrlen(arr);printf("%dn", ret);return 0;
}

输出结果如下

2.递归法

代码如下

#include <stdio.h>
#include <assert.h>
int myStrlen(const char *p)
{assert(p != NULL);if (*p != ''){return myStrlen(++p) + 1; //如果不为则返回1+从下个字符开始的字符数}else{return 0; //如果*p == 则返回0个字符}
}
int main()
{char arr[10] = "cdefga";int ret = myStrlen(arr); //函数作用为返回字符串字符个数printf("%dn", ret);return 0;
}

输出结果如下

3.指针减指针法

代码如下

#include <stdio.h>
#include <assert.h>
int myStrlen(char *begin)
{//指针减指针得到的是相差的元素个数//在例子中就是第一个元素和相差的个数,也就是字符个数assert(begin != NULL);char *end = begin; //用end指针指到]while (*end != ''){end++;}return end - begin;
}
int main()
{char arr[10] = "abcid";int ret = myStrlen(arr); //函数作用为返回字符串字符个数printf("%dn", ret);return 0;
}

输出结果如下

over

本文发布于:2024-02-01 21:16:57,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170679341739475.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:函数   strlen
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23