当前位置: 首页 > news >正文

strlen函数用法,模拟实现

一、strlen 函数用法

用来求字符串长度,从我们给的地址开始,往后数,直到遇到 '\0' 停止,返回数的个数,不包括

'\0'   返回值类型是无符号整形

char arr[ ]="bvcxz";

printf("%u ",strlen(arr));    得到 5

int main()
{char arr[] = "bdajkh";char arr_[] = "abcdfrurrh";int n = strlen(arr);int n_ = strlen(arr_);if (strlen(arr) - strlen(arr_) > 0)puts(">");elseputs("<");//结果是>}

因为,strlen返回值类型是无符号整形,相减得到的也是无符号整形,负数-->超级大

二、模拟实现strlen功能

1、计数

unsigned my_strlen_1(const char* p)
{int i = 0;while (*p != '\0'){p++;i++;}return (unsigned)i;}int main()
{char arr[] = "bdajkh";char brr[] = { 'a','b','c' };int n = strlen(arr);int m = strlen(brr);unsigned nn = my_strlen_1(arr);printf("%d %d %u\n", n,m,nn);// 6 随机值//strlen返回值是无符号整形return 0;
}

2、指针-指针

指针-指针 结果是它俩之间元素个数【必须指向的是同一个数组】

unsigned my_strlen_2(const char* p)
{char* begin = p;char* end = NULL;while (*p != '\0'){p++;}end = p;return end - begin;}

3、递归

unsigned my_strlen_3(const char* p)
{if (*p == '\0')return 0;else{p++;return 1 + my_strlen_3(p);}}

http://www.lryc.cn/news/496479.html

相关文章:

  • 云原生后端:解锁高效可扩展应用的魔法世界
  • 大数据新视界 -- Hive 数据湖架构中的角色与应用(上)(25 / 30)
  • React高阶面试题目(六)
  • 容器运行应用及Docker命令
  • 【Go 基础】channel
  • windows10更新后system磁盘占用100%
  • 无人设备遥控器之防水性能篇
  • 基于Matlab BP神经网络的非线性系统辨识与控制研究
  • 3D基因组工具(HiC可视化)trackc--bioinfomatics tools 35
  • 【大模型微调】图片转pdf
  • Linux-Ubuntu16.04摄像头 客户端抓取帧并保存为PNG
  • 手机ip地址取决于什么?可以随便改吗
  • 计算机网络:TCP/IP协议的五大重要特性介绍
  • Java与AWS S3的文件操作
  • 详解 YOLOv5 模型运行参数含义以及设置及在 PyCharm 中的配置方法
  • Vue根据Div内容的高度给其Div设置style height
  • 驱动篇的开端
  • OpenSSL 自建CA 以及颁发证书(网站部署https双向认证)
  • 吾杯网络安全技能大赛WP(部分)
  • 按vue组件实例类型实现非侵入式国际化多语言翻译
  • Java入门:22.集合的特点,List,Set和Map集合的使用
  • 重生之我在异世界学编程之C语言:深入指针篇(下)
  • 理解Parquet文件和Arrow格式:从Hugging Face数据集的角度出发
  • 下载 M3U8 格式的视频
  • Tomcat使用教程
  • LabVIEW氢气纯化控制系统
  • 现在的电商风口已经很明显了
  • Uniapp触底刷新
  • 开源项目 - face parsing 人脸区域分割 人像区域分割 人脸分割 人像区域分割 BiSeNet
  • python游戏设计---飞机大战