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

C语言---------strlen的使用和模拟实现

字符串是以‘\0’作为结束标志,strlen函数的返回值是‘\0’前面的字符串的个数(不包括‘\0’)

注意

1,参数指向的字符串必须以‘\0’结束

2,函数的返回值必须以size_t,是无符号的

使用代码

​
#include<stdio.h>
#include<string.h>
int main()
{char arr[] = "abcdef";int a = strlen(arr);printf("%d", a);return 0;
}​

                                                           结果运行

strlen模拟实现

方法1

int my_strlen(const char * str)
{int count = 0;assert(str);while(*str){count++;str++;}return count;
}

方法2

int my_strlen(const char * str)
{assert(str);if(*str == '\0')return 0;elsereturn 1+my_strlen(str+1);
}

方法3

int my_strlen(char *s)
{assert(str);char *p = s;while(*p != ‘\0’ )p++;return p-s;
}

整体代码

#include<stdio.h>
#include<assert.h>
int my_strlen(char* arr)
{assert(arr);char* p = arr;while (*p!= '\0')p++;return p - arr;
}int main()
{char arr[] = "abcdef";int a = my_strlen(arr);printf("%d", a);return 0;
}

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

相关文章:

  • 【MATLAB源码-第168期】基于matlab的布谷鸟优化算法(COA)机器人栅格路径规划,输出做短路径图和适应度曲线。
  • 集合深入------理解底层。
  • 【阅读笔记】《硬笔书法艺术》
  • 5.5.5、【AI技术新纪元:Spring AI解码】使用PGvector设置向量存储及进行相似性搜索
  • EDR下的线程安全
  • 洛谷刷题 | B3623 枚举排列
  • 程序员35岁会失业吗?
  • RabbitMQ 安装保姆级教程
  • 【MySQL】InnoDB引擎
  • 小白如何兼职赚得第一桶金?六大网络赚钱方式助你轻松开启副业之旅
  • 富格林:出金不顺谨防虚假受害
  • Saltstack 最大打开文件数问题之奇怪的 8192
  • Appium Inspector 展示设备当前页面
  • PyQt:实现菜单栏的点击拖动效果
  • 力扣--并查集547.省份数量
  • leetcode35-Search Insert Position
  • API 接口渗透测试
  • oracle 19c单机版本补丁升级
  • 推荐系统的未来:大模型驱动的个性化推荐技术与挑战
  • Allegro许可管理工具
  • React函数组件Hook
  • 【FinalShell】远程连接 Linux 工具 FinalShell 的使用:查看 AI 语言大模型对话实时日志
  • ARM Coresight 系列文章 11.1 -- CoreSight Cortex-M33 CTI 详细介绍】
  • Linux常用操作命令(清单快查版)
  • [C语言]结构体、位段、枚举常量、联合体
  • LangChain核心模块 Retrieval——文档加载器
  • 力扣爆刷第104天之CodeTop100五连刷6-10
  • Docker操作基础命令
  • 穿越地心:3D可视化技术带你领略地球内部奇观
  • 蓝桥杯刷题_day1_回文数_水仙花数_进制转换