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

【C语言】【strlen函数的使用与模拟实现】

1.strlen函数的使用和模拟实现

1.1使用:

size_t strlen(const char* str)

返回类型为无符号整型,参数是字符指针
计算的是字符串中到“\0"之前的字符个数

1.2模拟实现:

方法一:计数器式遍历

#include<stdio.h>
#include<assert.h>
size_t my_strlen(const char* arr)
{int count=0;assert(arr);while(*arr){arr++;count++;}return count;
}int main()
{char arr[]="abcdef";size_t ret=my_strlen(arr);printf("%d\n",ret);return 0;
}

方法二:递归方式实现

#include<stdio.h>
#include<assert.h>
size_t my_strlen(const char* arr)
{assert(arr);if (*arr == '\0')return 0;elsereturn 1 + my_strlen(arr + 1);}
int main()
{char arr[] = "abcdef";size_t ret = my_strlen(arr);printf("%d\n", ret);return 0;
}

方法三:指针减指针

#include<stdio.h>
#include<assert.h>
size_t my_strlen(const char* arr)
{assert(arr);char* p = arr;while(*p!='\0')p++;return p - arr;}
int main()
{char arr[] = "abcdef";size_t ret = my_strlen(arr);printf("%zd\n", ret);return 0;
}
http://www.lryc.cn/news/164602.html

相关文章:

  • 类和对象【基础概念】
  • 如何测试生成式人工智能(AIGC)
  • 机器学习算法详解3:逻辑回归
  • linux命令集合
  • 实现卓越供应链:RFID技术的革命性应用
  • 从JVM角度看继承
  • 基于Python和mysql开发的看图猜成语微信小程序(源码+数据库+程序配置说明书+程序使用说明书)
  • Unity入门教程||创建项目(上)
  • Openbmc编译
  • 美国CN2服务器速度怎么样
  • K8S原理架构与实战教程
  • 基于C#的图书管理系统数据库设计报告
  • 【Express.js】pm2进程管理
  • Nginx部署前后端分离项目(Linux)
  • Docker网络
  • 第15章_瑞萨MCU零基础入门系列教程之Common I2C总线模块
  • 《TCP/IP网络编程》阅读笔记--多播与广播
  • 聚观早报|华为Mate 60 Pro支持面容支付;特斯拉重回底特律车展
  • 本地缓存Caffeine的缓存过期淘汰策略
  • 激光焊接汽车尼龙塑料配件透光率测试仪
  • 2023年高校大数据实验室建设方案
  • 计网第五章(运输层)(一)
  • ILS解析漏洞复现
  • 0067__Git学习(1.本地仓库与暂存区)
  • Mac端交互式原型设计 Axure RP 8 for Mac汉化
  • GO语言网络编程(并发编程)Sync
  • 如何在 Ubuntu 上安装 Nagios?
  • 汽车技术发展趋势及我国节能与新能源汽车技术
  • 如何实现负载均衡
  • Jetsonnano B01 笔记3:GPIO上拉下拉-输入输出读取