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

【C/C++】模拟实现strlen

学习目标:

  • 使用代码模拟实现strlen

逻辑:

  • strlen 需要输入一个字符串数组类型的变量,并且返回一个整型类型的数据。
  • strlen 需要计算字符串数组有多少个元素。

代码1:使用计数器

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>int strlen_mine(char * pc)
{int count = 0;for (int i = 0; pc[i] != '\0'; i++){count++;}return count;
}int main(){char str[6] = "ALICE";int ret = strlen_mine(str);printf("%d", ret);return 0;
}


 代码2:使用递归

int strlen_mine2(char* pc)
{if (*pc == '\0'){return 0;}else{return (strlen_mine2(pc + 1) + 1);}
}int main(){char str[6] = "ALICE";int ret = strlen_mine2(str);printf("%d", ret);return 0;
}


 代码3:使用指针 - 指针

int strlen_mine3(char* pc)
{assert(pc);char* p = pc;while(*p != '\0'){p++;}return (p - pc);
}int main(){char str[6] = "ALICE";int ret = strlen_mine3(str);printf("%d", ret);return 0;
}

        这里一共提供了三种思路供大家参考。


相关链接:

        【C/C++】函数的递归-CSDN博客

         C语言指针的介绍-CSDN博客


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

相关文章:

  • mybatis从浅入深一步步演变分析
  • Java阶段三02
  • 【Linux】掌握库的艺术:我的动静态库封装之旅
  • UE5动画控制 基础
  • 流畅!HTMLCSS打造网格方块加载动画
  • linux命令之top(Linux Command Top)
  • 数据结构-希尔排序(ShellSort)笔记
  • Junit + Mockito保姆级集成测试实践
  • 软件项目管理要点
  • ESP8266 连接 MQTT 服务器EMQX 连接MQTTX
  • Python中如何处理异常情况?
  • openpnp - 在openpnp中单独测试相机
  • Spark窗口函数
  • Idea、VS Code 如何安装Fitten Code插件使用
  • elasticsearch7.x在k8s中的部署
  • 校园社团信息管理平台:Spring Boot技术实战指南
  • 【Linux】从内核角度理解 TCP 的 全连接队列(以及什么是 TCP 抓包)
  • 太速科技-712-6U VPX飞腾处理器刀片计算机
  • 深度学习(八) TensorFlow、PyTorch、Keras框架大比拼(8/10)
  • thinkphp中命令行工具think使用,可用于快速生成控制器,模型,中间件等
  • Discourse 是否支持手机注册
  • 软件测试学习笔记丨Flask框架-请求与响应
  • 【C++笔记】list结构剖析及其模拟实现
  • C#进阶1
  • PHP如何对输出进行转义
  • Windows 10 安装Docker踩过的坑和解决-31/10/2024
  • 【应急响应】Linux植入恶意程序排查流程
  • 微信小程序app.js里面onLaunch里面的函数比page里面的onshow里面的方法后执行
  • 斐波那契时间序列,精准捕捉市场拐点 MT4免费公式源码!
  • 计算机的错误计算(一百四十)