如何求字符串的长度c语言,C语言中求字符串长度的函数的几种实现方法
1.最常用的方法是创建一个计数器,判断是否遇到‘ ',不是' '指针就往后加一。
int my_strlen(const char *str)
{
assert(str != NULL);
int count = 0;
while (*str != ' ')
{
count++;
str++;
}
return count;
}
2.不创建计数器,从前向后遍历一遍,没有遇到‘ '就让指针向后加一,找到最后一个字符,记下来地址,然后用最后一个字符的地址减去起始地址,就得到了字符串的长度。
int my_strlen(const char *str)
{
char *end = str;
assert(str!=NULL);
assert(end!=NULL);
while (*end != ' ')
{
end++;
}
return end - str;
}
3.不创建计数器,递归实现。
int my_strlen(const char *str)
{
assert(str != NULL);
if (*str == ' ')
{
return 0;
}
else
{
return (1 + my_strlen(++str));
}
}
也可以写成这样:
int my_strlen(const char *str)
{
assert(str != NULL);
return (*str == ' ') ? 0 : (my_strlen(++str) + 1);
}
或者这样:
int my_strlen(const char *str)
{
assert(str != NULL);
return (*str == ' ') ? 0 : (my_strlen(str+1) + 1);
}
这篇关于c语言中获取字符串长度的函数就介绍到这了,需要的朋友可以参考一下。
如何求字符串的长度c语言,C语言中求字符串长度的函数的几种实现方法相关推荐
- c语言中用于获取字符串长度的函数是,C语言中求字符串长度的函数的几种实现方法...
C语言中求字符串长度的函数的几种实现方法 1.最常用的方法是创建一个计数器,判断是否遇到'\0',不是'\0'指针就往后加一. int my_strlen(const char *str) { ass ...
- C语言宏定义中的字符串替换
## 是连接符号,连接两个字符串 #是把名字代替成参数中的字符串 #define PRINTF(value) printf( #value " = %d/n", value ); ...
- mysql int11 最大值_int(11)最大长度是多少,MySQL中varchar最大长度是多少(转)
int(11)最大长度是多少,MySQL中varchar最大长度是多少? int(11)最大长度是多少? 在SQL语句中int代表你要创建字段的类型,int代表整型,11代表字段的长度. 这个11代表 ...
- html语言空格怎么写,html中如何插入空格字符代码的6种书写方法
在学习插入空格字符代码书写方法之前,我们要知道,html代码的空格字符,在浏览器中,总会被压缩为一个字符!也就是说,你在html文本中输入多个空格,但在浏览器中,只会保留显示一个字符,其余的都将被浏览 ...
- python求向量函数的雅可比矩阵_在python Numpy中求向量和矩阵的范数实例
np.linalg.norm(求范数):linalg=linear(线性)+algebra(代数),norm则表示范数. 函数参数 x_norm=np.linalg.norm(x, ord=None, ...
- linux shell脚本字符串连接符,学习Linux shell脚本中连接字符串的方法
这篇文章主要介绍了Linux shell脚本中连接字符串的方法,如果想要在变量后面添加一个字符,可以用一下方法: 代码如下: $value1=home $value2=${value1}"= ...
- python中的字符串是什么,一文秒懂Python中的字符串
摘要:本文将告诉您Python中的字符串是什么,并向您简要介绍有关该概念的所有知识. 因此,让我们开始吧. 什么是Python中的字符串? 我们许多熟悉C,C ++等编程语言的人都会得到诸如" ...
- Sql字符串分组Split函数的两种实现方法
在给文章加自定义标签时,需要在存储过程中对输入的字符串按照","字符分割成一个字符数组.但是Sql中没有实现字符串分组的Split方法.因此就需要编写一个自定义的Split函数.我 ...
- python字符串筛选输出_如何在Python中过滤字符串列表
Python使用列表数据类型在顺序索引中存储多个数据.它的工作方式类似于其他编程语言的数字数组.filter()方法是Python的一种非常有用的方法.可以使用filter()方法从Python中的任 ...
- mysql查找内容某字符串出现的次数_查找MySQL中特定字符串出现的次数?
使用LENGTH()此.让我们首先创建一个表-mysql> create table DemoTable -> ( -> Value text -> ); 使用插入命令在表中插 ...
最新文章
- Linux下利用phpize安装php扩展
- 2020移动apn接入点哪个快_手机推荐:为什么别人的手机4G网总是比你快?这样设置一下,网速立马飙升...
- 【Linux】内核态和用户态
- 工艺流程计算机仿真设计,450kt/a合成氨反应器及生产过程计算机仿真设计
- sap.ui.core.ComponentContainer
- 166. 分数到小数
- python解析xml+得到pascal voc xml格式用于目标检测+美化xml
- JAVA入门级教学之(异常机制的原理到底是什么)
- 图像处理-空间域平滑滤波
- libv4l 库【转】
- 汇编语言ax=0c58ch,第4章89C5汇编语言程序设计.ppt
- Druid.jar包
- win10安装双系统——ubuntu20.04安装步骤
- 搞懂微服务,从捕捉一头野猪说起
- Difference between Vienna DL LLS and UL LLS
- 亚历山大对马其顿士兵的演说(经典演说
- mysql建立序列相关操作 sequence
- 【TcaplusDB君】 行业新闻汇编(5月25日)
- python之turtle库学习(海龟图形)
- GreenDao笔记
热门文章
- 迅雷手机版苹果版_迅雷IOS版恢复下载,又能用苹果手机下载电影愉快追剧了
- 最新服务器处理器天梯,2019 最新 至强 Xeon E5 服务器系列 CPU天梯图
- 硬件系列(一)----------WIFI打印机之使用socket进行打印机搜索
- Chrome插件--》油猴的使用
- Java 电阻计算器(一)
- 仿微信读书APP原型设计
- 如何用python做软件导出cad_使用python将cad批量导出至pdf
- 小学英语与计算机技术整合,浅谈多媒体技术与小学英语教学的整合
- Windows下最快的磁盘空间分析软件——WizTree
- 运动步数抽奖小程序开发