计算字符串长度

article/2025/11/4 8:11:05

用三种方法计算字符串的长度:

字符串:“abcd”,在储存的时候,字符串的最后一位会以一个终止符 '\0',所以求取的就是终止符前的字符数。

1.计数器方式

        通过设置一个计数器,然后用指针字符串从头扫描,每扫描一个字符计数器就+1,直到 ‘\0’ 就停止计数,返回计数器的结果,

int my_strlen1(char* str)
{int count = 0;while ('\0' != *str){count++;str++;}return count;
}

2.递归方法

        通过对每次获取一个字符的方式对字符串进行递归,知道获取的字符为‘\0’就停止。

int my_strlen2(char* str)
{if ('\0' != *str){return (1 + my_strlen2(str + 1));}elsereturn 0;
}

3.指针方法

        通过指针头*start指向字符串的首位,在设置个指针尾*end指向终止符 '\0',通过end - start就可以计算出字符串的长度。

        这里因为数组是一块连续的空间,所以可以使用 end - start 并且为char类型占一个byte所以相减的数就是其存有的字符数。

int my_strlen3(char* str)
{char* start = str;char* end = str;while (*end != '\0'){end++;}return end - start;
}

最后整合所有代码:

//1.计数器方式
int my_strlen1(char* str)
{int count = 0;while ('\0' != *str){count++;str++;}return count;
}
//2.递归方式
int my_strlen2(char* str)
{if ('\0' != *str){return (1 + my_strlen2(str + 1));}elsereturn 0;
}
//3.指针方法
int my_strlen3(char* str)
{char* start = str;char* end = str;while (*end != '\0'){end++;}return end - start;
}
int main()
{char arr[] = "abcd";int count1 = my_strlen1(arr);int count2 = my_strlen2(arr);int count3 = my_strlen3(arr);printf("%d\n", count1);printf("%d\n", count2);printf("%d\n", count3);
}

运行结果:

 这里有两个求字符串的方法:

strlen函数:专门争对字符串长度库函数<string.h>里头的函数,使用时需要引用库函数,其原理就是计算 '\0'之前的字符串长度。

sizeof:内存容量度量函数,不用进行引用,但其计算的是整个数组所含的所有字符包括 '\0',因此使用时 -1 就为字符串长度。

这里也有一个C语言库函数的网站:cplusplus.com

进入这个网站,可以查看库函数以及其他C语言函数的使用方法,与其定义。


http://chatgpt.dhexx.cn/article/CcVbwWIe.shtml

相关文章

计算字符串长度的三种方法(库函数 指针 )【详解】

目录 求字符串长度的一般原理方法一&#xff1a;strlen函数函数原型使用方法 方法二:指针整数方法三&#xff1a;指针-指针总结&#xff1a; 求字符串长度的一般原理 求字符串长度简单来说就是计算一个字符串(字符数组)中元素的个数即从数组头部计数&#xff0c;直到遇到字符串…

微信小程序怎么开发(小程序开发文档)

微信小程序是一种全新的连接用户与服务的方式&#xff0c;它可以在微信内被便捷地获取和传播&#xff0c;同时具有出色的使用体验。 2017年1月9日~2018年1月9日&#xff0c;小程序正式上线一周年。上线以来&#xff0c;小程序不断地释放新能力&#xff0c;迭代更新&#xff0c;…

【小程序】一文带你了解微信小程序开发(小程序注册/开发工具的下载)

&#x1f41a;作者简介&#xff1a;苏凉&#xff08;专注于网络爬虫&#xff0c;数据分析&#xff0c;正在学习前端的路上&#xff09; &#x1f433;博客主页&#xff1a;苏凉.py的博客 &#x1f310;系列专栏&#xff1a;小程序开发基础教程 &#x1f451;名言警句&#xff1…

小程序设计文档

状态码介绍 {status: 状态码msg: 消息data: 响应数据 }code解释0success1error10need_login2illegal_argument 介绍 用到的接口 小程序登陆能获取的信息有 wx.request的返回为 data里面包的是后端服务器返回的值 小程序登陆时序图 登陆流程 微信小程序wx.login()拿到…

微信小程序技术文档

1.只显示用户头像和名称&#xff08;简化代码&#xff09; <!-- 如果只是展示用户头像昵称&#xff0c;可以使用 <open-data /> 组件 --> <open-data type"userAvatarUrl"></open-data> <open-data type"userNickName"><…

微信小程序开发者文档 开放文档 地址

最好的微信小程序开发参考书籍——微信小程序开发者文档 开放文档 微信小程序开发者文档地址 &#x1f9e9;微信官方文档&#xff1a;https://developers.weixin.qq.com/doc

微信小程序(原生):基本开发相关文档

1、微信公众平台&#xff08;后台登录页&#xff09;&#xff1a; https://mp.weixin.qq.com/ 2、微信小程序官网文档&#xff08;组件api等&#xff09;&#xff1a; https://developers.weixin.qq.com/miniprogram/dev/component/audio.html 3、微信开放社区&#xff08;问题…

【微信小程序】(一)开发工具下载与界面介绍

本系列文章主要介绍微信小程序基本的开发流程与基础内容 文章目录 前言 一、安装微信开发者工具 二、开发者工具基本介绍 1.创建项目 2.界面展示 3.目录结构介绍 前言 微信小程序作为一种开发成本低&#xff0c;开发门槛低&#xff0c;周期更短等优势&#xff0c;依托微信生态…

微信小程序入门文档

小程序入门文档 微信小程序介绍 微信小程序&#xff0c;简称小程序&#xff0c;英文名Mini Program&#xff0c;是一种不需要下载安装即可使用的应用&#xff0c;它实现了应用“触手可及”的梦想&#xff0c;用户扫一扫或搜一下即可打开应用。 小程序官方文档地址&#xff1a…

微信小程序开发之官方文档学习(一)

小程序宿主环境 渲染层和逻辑层 小程序的运行环境分成渲染层和逻辑层&#xff1a;WXML 模板和 WXSS 样式工作在渲染层&#xff0c;JS 脚本工作在逻辑层。渲染层和数据相关&#xff1b;逻辑层负责产生、处理数据&#xff0c;通过 Page 实例的 data 属性传递数据到渲染层。 通信模…

微信-小程序-开发文档-开发:开发

ylbtech-微信-小程序-开发文档-开发&#xff1a;开发 1. 开发指南返回顶部 1.1、 小程序提供了一个简单、高效的应用开发框架和丰富的组件及API&#xff0c;帮助开发者在微信中开发具有原生 APP 体验的服务。 本章分主题的介绍了小程序的开发语言、框架、能力、调试等内容&…

微信小程序设计规范(官方)文档

为方便设计师进行设计&#xff0c;微信提供一套可供Web设计和小程序使用的基础控件库&#xff1b;同时提供方便开发者调用的资源。 基础样式库预览地址&#xff1a;https://weui.io 文末附规范文档PSD和sketch源文件下载。 视觉规范 1. 字体规范 常用字号为20&#xff0c;18…

微信小程序文档api

​ 本文档将带你一步步创建完成一个微信小程序&#xff0c;并可以在手机上体验该小程序的实际效果。这个小程序的首页将会显示欢迎语以及当前用户的微信头像&#xff0c;点击头像&#xff0c;可以在新开的页面中查看当前小程序的启动日志。下载源码 1. 获取微信小程序的AppID …

微信小程序设计文档

小程序方案设计 我设计的小程序名字叫“运动之参天大树”&#xff0c;大体上是想设计一个通过运动来种树的小程序。用户注册之后&#xff0c;可以在喜欢的地方种树&#xff0c;然后连通微信步数来换取浇水的水滴&#xff0c;对树进行浇水&#xff0c;树得到水滴之后会变大&…

微信小程序开发指南,接口文档,工具下载使用

相信前天&#xff0c;从事互联网行业人的朋友圈给刷爆了&#xff0c;前微信公众平台开始陆续对外发送小程序内测邀请&#xff0c;而小程序即被外界广为关注的微信“应用号”。 小程序的推出也并非一蹴而就&#xff0c;早在2016年1月的微信公开课上&#xff0c;微信之父张小龙就…

微信小程序开发官方文档

官方文档教程1&#xff1a;http://bcoder.cn/wxopen/ 官方文档教程2&#xff1a;http://bing.aliaii.com/wxopen/ 本文档将带你一步步创建完成一个微信小程序&#xff0c;并可以在手机上体验该小程序的实际效果。这个小程序的首页将会显示欢迎语以及当前用户的微信头像&#xf…

微信小程序官方开发文档

本文档将带你一步步创建完成一个微信小程序&#xff0c;并可以在手机上体验该小程序的实际效果。这个小程序的首页将会显示欢迎语以及当前用户的微信头像&#xff0c;点击头像&#xff0c;可以在新开的页面中查看当前小程序的启动日志。下载源码 1. 获取微信小程序的 AppID 登…

小程序开发文档

小程序开发总结 最近领导交给一个任务&#xff0c;单独开发一个小程序项目&#xff0c;还要出一篇小程序课题文档。这也是我第一次接触小程序&#xff0c;遂把领导对课题的要求以及自己开发过程中遇到的问题做如下总结&#xff1a; 1. 如何创建小程序项目 这一步在官方文档中…

微信小程序入门教程

本文档将带你一步步创建完成一个微信小程序&#xff0c;并可以在手机上体验该小程序的实际效果。这个小程序的首页将会显示欢迎语以及当前用户的微信头像&#xff0c;点击头像&#xff0c;可以在新开的页面中查看当前小程序的启动日志。下载源码 1. 获取微信小程序的 AppID 如…

HTML 前端设置浏览器页签图标设置

想实现如下效果&#xff1a;修改浏览器页签的图标 话不多说上代码 <!-- 修改页签icon logo --><link rel"shortcut icon" type"image/x-icon" href"images/logo.png"></link> 直接在html中head头部里修改如上代码href替换成相…