求字符串长度的多种方法
目录
标准简洁快速法
创建临时变量 ——计数器的方法
不许创建临时变量 ——递归的方法
运用指针运算 ——指针减指针的方法
本文涉及知识点:求字符串长度用 strlen
标准简洁快速法
#include <stdio.h>
#include <string.h>
int main()
{char arr[] = "bit";int len= strlen(arr);//求字符串长度 printf("%d\n", len);return 0;}
创建临时变量
#include <stdio.h>
#include <string.h>int my_strlen(char* str)
{int count = 0;while(*str != '\0');{count++;str++;}return count;
}
int main()
{char arr[] = "bit";//模拟实现了一个strlen函数 int len = my_strlen(arr);//arr是数组,数组传参,传过去的不是整个数组,而是第一个元素的地址 printf("len = %d\n",len);return 0;}
不许创建临时变量
#include <stdio.h>
#include <string.h>
int my_strlen(char* str)
{if(*str != '\0')return 1+my_strlen(str+1) ;elsereturn 0;
}//把大事化小int main()
{char arr[] = "bit";int len = my_strlen(arr);//arr是数组,数组传参,传过去的不是整个数组,而是第一个元素的地址 printf("len = %d\n",len);return 0;}
运用指针运算
#include <stdio.h>
int my_strlen(char* str)
{char* start = str;char* end =str;while(*end != '\0'){end++;}return end - start;
}
int main()
{char arr[] = "bit";int len = my_strlen(arr);printf("len = %d\n",len);return 0;
}
求字符串长度的多种方法相关推荐
- linux shell 显示字符串长度,Shell获取字符串长度的多种方法总结
前言 我们在日常工作中,对于求字符串操作在shell脚本中很常用,实现的方法有很多种,下面就来给大家归纳.汇总了求字符串的几种可能方法,话不多说了,来一起看看详细的介绍吧. 方法如下: [方法一]:利 ...
- c语言中用于获取字符串长度的函数是,C语言中求字符串长度的函数的几种实现方法...
C语言中求字符串长度的函数的几种实现方法 1.最常用的方法是创建一个计数器,判断是否遇到'\0',不是'\0'指针就往后加一. int my_strlen(const char *str) { ass ...
- C语言中求字符串长度的函数my_strlen()的几种实现方法
C语言中求字符串长度的函数的几种实现方法 1.最常用的方法是创建一个计数器,判断是否遇到'\0',不是'\0'指针就往后加一. int my_strlen(const char *str) {asse ...
- 三种方法求字符串长度
在求字符串长度时,第一时间会想到运用strlen这个函数,但对于初学者来说,除了掌握这个函数之外,还应当自己写函数来实现相似的功能. 接下来我列举了三种方法来求字符串长度,供大家参考: (1)运用st ...
- 求字符串长度的三种方法(C语言)
如何求字符串的长度? 首先要明白字符串存储的原理. 字符串存储时,是以'\0'结尾,这个就可以作为判断字符串结尾的一个条件. 接下来,只要有字符串的首元素地址,就可以解决求字符串长度的问题啦! 第一种 ...
- 【C语言】模拟实现库函数 strcpy(复制字符串内容) 与 strlen(求字符串长度)
前言:对于库函数的使用,我们不仅要会使用方法,更要知晓使用原理,而知晓使用原理最好的方法就是模拟相应库函数的使用. 今天我们就来模拟 strcpy(复制字符串内容) 与 strlen(求字符串长度)这 ...
- Bailian2681 求字符串长度【字符串】
求字符串长度 总时间限制: 1000ms 内存限制: 65536kB 描述 求一个长度不大于100的字符串的长度,要求不使用strlen方法,并且使用到字符指针. 输入 输出 字符串的长度. 样例输入 ...
- strlen、sizeof与size()求字符串长度的区别
strlen.sizeof与size()求字符串长度的区别 cout<<strlen("123")<<endl; //返回 3 cout<<si ...
- 字符串逆序 - 多种方法实现
字符串逆序实现方法 1. 借助额外数组 2. 循环实现 2.1 图解 2.2 思路 2.3 代码实现 3. 递归实现1 4. 递归实现2 4.1 思路 对字符串进行逆序,以字符串abcdef为例 1. ...
最新文章
- django学习笔记【003】创建第一个带有model的app
- resilience4j小试牛刀
- gitlab更改默认Nginx
- 经典c语言程序编程题,c语言35道经典编程题程序
- php特殊函数,PHP常用特殊运算符号和函数的简单示例
- 从此不再为Web页面中的Tooltip烦恼
- 创业者具备的五大技能_一个优秀创业者必备的基本素质和技能
- 「C++」C++ Primer Plus 笔记:第十七章 输入、输出和文件
- 实现php数组编码的转换的类
- MapReduce读取本地文件,而不是HDSF上的文件
- catia利用宏批量改名的方法_谁有CATIA批量改名的宏程序啊
- html未点击背景 点击背景,vue项目中使用particles实现粒子背景效果及遇到的坑(按钮没有点击响应)...
- SSIS数据转换器及字符转换器使用
- 安装Windows系统提示Windows无法安装到这个磁盘,选中的磁盘具有MBR分区表。在EFI系统上,Windows只能安装到GPT分区
- 基于FPGA的UART串口发送模块设计
- Re:从零开始的DS学习 十大排序算法我都整理好了
- 非对称加密之公钥加密与私钥加密的应用场景
- [转载] 服务器基础知识
- 从零开始搭建私人http服务器
- matlab excel导入矩阵,如何将excel中数据导入到matlab中!Excel导入matlab生成矩阵
热门文章
- KICKSTART无人值守技术
- python模拟点击下一页_爬虫模拟点击下一页selenium
- java银行业务_java模拟银行存取款业务
- 华为云-三剑客之PaaS云服务
- Maven 最全教程,看了必懂
- Attention机制学习(一)传统Attention机制
- python实现牛顿法和梯度下降法求解对率回归_最优化问题中,牛顿法为什么比梯度下降法求解需要的迭代次数更少?...
- 素問·上古天真論-篇一
- php GD库实现图片合并、文本居中 案例:生成分享海报
- MyBatis-Plus - 字段类型处理器