(C语言)求字符串长度的四种方法
目录
方法一:调用内置函数strlen求字符串长度
方法二:创建临时变量计算字符串长度
方法三:不创建临时变量计算字符串长度(递归)
方法四:指针减指针求字符串长度
我们知道C语言是自带内置函数strlen求字符串长度的,但其实我们也可以自己编写函数来求字符串长度
方法一:调用内置函数strlen求字符串长度
#include <stdio.h>
#include <string.h>int main()
{char s[] = "abc";int len = strlen(s);printf("%d ",len);return 0;
}
方法二:创建临时变量计算字符串长度
首先,我们自定义函数my_strlen求字符串长度
在my_strlen中用count统计字符的个数,我们传入的char类型的指针str,对他进行解引用(*str)得到str指向的值,循环判断(*str)是否等于‘\0’,如果不等,则count+1,str指向下一个字符;如果相等,则说明遍历到了字符串结尾,最后返回count,也就是统计的字符的个数。
代码实现如下:
#include <stdio.h>int my_strlen(char* str)
{int count = 0; //计数while(*str != '\0'){count++;str++;}return count;
}int main()
{char s[] = "abc";int len = my_strlen(s);printf("%d ",len);return 0;
}
方法三:不创建临时变量计算字符串长度(递归)
递归的主要思想:大事化小
使用递归的两个必要条件:
1、存在限制条件,当满足这个限制条件的时候,递归便不再继续
2、每次递归调用之后越来越接近这个限制条件
计算字符串(abc)长度的递归思想:
代码实现如下:
#include <stdio.h>int my_strlen(char* str)
{if(*str != '\0'){return 1 + my_strlen(str+1);}elsereturn 0;
}int main()
{char s[] = "abc";int len = my_strlen(s);printf("%d ",len);return 0;
}
方法四:指针减指针求字符串长度
两个指针相减,得到的是两个指针之间元素的个数
根据这个特性,我们可以有一种新的求字符串长度的思路
代码实现:
#include <stdio.h>int my_strlen(char* str)
{char* start = str;while(*str){str++;}return str - start;
}int main()
{char s[] = "abc";int len = my_strlen(s);printf("%d ",len);return 0;
}
(C语言)求字符串长度的四种方法相关推荐
- c语言求字符串长度的三种方法(部分略微优化)
求字符串的长度,很多人都会直接想到用strlen函数,只需要头文件string.h就可以很轻松的实现,但对于我们c语言的初学者,也应该尝试用其他方法来进行实现,除了strlen函数外有三种方法可供参考 ...
- C语言-求字符串长度的几种方法
1.使用库函数<string.h> #include <stdio.h> #include <string.h> int main() {char arr[] = ...
- 求字符串长度的三种方法(C语言)
如何求字符串的长度? 首先要明白字符串存储的原理. 字符串存储时,是以'\0'结尾,这个就可以作为判断字符串结尾的一个条件. 接下来,只要有字符串的首元素地址,就可以解决求字符串长度的问题啦! 第一种 ...
- C++求字符串长度的两种方法
针对于string类型的,可以采用strlen 针对于wstring类型的,可以采用_tcslen方法 实例代码: //字符串测试Unicode和ansi void strControl() {std ...
- 【c语言】模拟strlen函数求字符串长度的三种方法
1.借助中间变量(常规方法) #include<stdio.h> int my_strlen(char* str)//接收了数组首元素的地址 {int count = 0;while (* ...
- 用C语言求最大公约数的4种方法
C语言求最大公约数的四种方法如下: 辗转相除法:通过不断地交换两个数,使较大的数除以较小的数,最后得到的余数即为最大公约数. 更相减损术:通过不断地让两个数减去较小的数,最后得到的结果即为最大公约数. ...
- java实现c语言的函数_C语言实现返回字符串函数的四种方法
前言 C语言返回字符串函数共有四种方式,分别如下: 使用堆空间,返回申请的堆地址,注意释放 函数参数传递指针,返回该指针 返回函数内定义的静态变量(共享) 返回全局变量 下面来看看详细的介绍 其实就是 ...
- (转)Shell中获取字符串长度的七种方法
Shell中获取字符串长度的七种方法 原文:http://blog.csdn.net/jerry_1126/article/details/51835119 求字符串操作在shell脚本中很常用,下面 ...
- c语言数组最大可定义多少位_C语言求数组的最大值三种方法
/* 黄哥Python培训 黄哥所写*/#include int maxValue(int* arr, int n);int maxRecursionValue(int* arr, int n);in ...
- Shell脚本中计算字符串长度的5种方法
这篇文章主要介绍了Shell脚本中计算字符串长度的5种方法,来自于个人Shell脚本长期的开发经验,需要的朋友可以参考下 有时在Linux操作系统中需要计算某个字符串的长度,通过查询资料整理了下目前S ...
最新文章
- 栈的输出_栈和队列--十进制转化为二进制
- 嵌入式培训学习历程第三天
- python自带time库吗_Python的内置库time
- android oreo 开机动画,Android O添加了一个 Splash Screen API帮助简化启动屏制作
- 外媒:日本和芬兰将合作开发6G技术 诺基亚将参与其中
- python查看函数参数快捷键_python查看函数源代码快捷键_pycharm中查看源码的快捷键...
- Python扩展库安装工具pip的高级用法
- 基于源码剖析nodejs模块系统
- 关于collectionView的一些内容
- 清除VS2005中的最近项目
- 董付国python题库_1000道Python题库系列分享四(40道)
- 机器视觉培训教程-相机的基本知识
- python基础-craps赌牌游戏
- safari快捷图标不见了_桌面图标不见了怎么办?这里有妙招
- html有序列表标签圆点,什么是无序列表、有序列表、定义列表?html列表标签学习笔记...
- python中idle什么意思_始学Python:IDLE环境介绍
- DB2相关数据库命令
- 《Microduino实战》——1.3 开源软件
- win8安装PCL1.8.1配置VS2017
- Linux安装deb软件包
热门文章
- OpenCV的Mat格式和IplImage格式的使用
- Linux下PCIE设备分析软件
- 乐高叉车wedo教案_乐高 WEDO自带12个活动教学参考书.pdf
- Dreamweaver简单网页——HTML+CSS小米官网首页的设计与实现
- 获取文件哈希值_Java 获得文件的指纹
- python国际象棋游戏_国际象棋版AlphaZero出来了 还开源了Keras实现
- cad沿线插入块 lisp_我有一组数有十几万个坐标点,如何利用lisp程序快速导入CAD中,并可以快速处理!...
- 【开发】MFC到Delphi的皮肤移植
- 2000坐标系xy坐标几位_2000坐标系(2000坐标系x和y坐标几位数)
- python和r语言对比_Python和R语言之分析对比