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语言中求字符串长度的函数的几种实现方法相关推荐

  1. c语言中用于获取字符串长度的函数是,C语言中求字符串长度的函数的几种实现方法...

    C语言中求字符串长度的函数的几种实现方法 1.最常用的方法是创建一个计数器,判断是否遇到'\0',不是'\0'指针就往后加一. int my_strlen(const char *str) { ass ...

  2. C语言宏定义中的字符串替换

    ## 是连接符号,连接两个字符串 #是把名字代替成参数中的字符串 #define PRINTF(value)  printf( #value " = %d/n", value ); ...

  3. mysql int11 最大值_int(11)最大长度是多少,MySQL中varchar最大长度是多少(转)

    int(11)最大长度是多少,MySQL中varchar最大长度是多少? int(11)最大长度是多少? 在SQL语句中int代表你要创建字段的类型,int代表整型,11代表字段的长度. 这个11代表 ...

  4. html语言空格怎么写,html中如何插入空格字符代码的6种书写方法

    在学习插入空格字符代码书写方法之前,我们要知道,html代码的空格字符,在浏览器中,总会被压缩为一个字符!也就是说,你在html文本中输入多个空格,但在浏览器中,只会保留显示一个字符,其余的都将被浏览 ...

  5. python求向量函数的雅可比矩阵_在python Numpy中求向量和矩阵的范数实例

    np.linalg.norm(求范数):linalg=linear(线性)+algebra(代数),norm则表示范数. 函数参数 x_norm=np.linalg.norm(x, ord=None, ...

  6. linux shell脚本字符串连接符,学习Linux shell脚本中连接字符串的方法

    这篇文章主要介绍了Linux shell脚本中连接字符串的方法,如果想要在变量后面添加一个字符,可以用一下方法: 代码如下: $value1=home $value2=${value1}"= ...

  7. python中的字符串是什么,一文秒懂Python中的字符串

    摘要:本文将告诉您Python中的字符串是什么,并向您简要介绍有关该概念的所有知识. 因此,让我们开始吧. 什么是Python中的字符串? 我们许多熟悉C,C ++等编程语言的人都会得到诸如" ...

  8. Sql字符串分组Split函数的两种实现方法

    在给文章加自定义标签时,需要在存储过程中对输入的字符串按照","字符分割成一个字符数组.但是Sql中没有实现字符串分组的Split方法.因此就需要编写一个自定义的Split函数.我 ...

  9. python字符串筛选输出_如何在Python中过滤字符串列表

    Python使用列表数据类型在顺序索引中存储多个数据.它的工作方式类似于其他编程语言的数字数组.filter()方法是Python的一种非常有用的方法.可以使用filter()方法从Python中的任 ...

  10. mysql查找内容某字符串出现的次数_查找MySQL中特定字符串出现的次数?

    使用LENGTH()此.让我们首先创建一个表-mysql> create table DemoTable -> ( -> Value text -> ); 使用插入命令在表中插 ...

最新文章

  1. Linux下利用phpize安装php扩展
  2. 2020移动apn接入点哪个快_手机推荐:为什么别人的手机4G网总是比你快?这样设置一下,网速立马飙升...
  3. 【Linux】内核态和用户态
  4. 工艺流程计算机仿真设计,450kt/a合成氨反应器及生产过程计算机仿真设计
  5. sap.ui.core.ComponentContainer
  6. 166. 分数到小数
  7. python解析xml+得到pascal voc xml格式用于目标检测+美化xml
  8. JAVA入门级教学之(异常机制的原理到底是什么)
  9. 图像处理-空间域平滑滤波
  10. libv4l 库【转】
  11. 汇编语言ax=0c58ch,第4章89C5汇编语言程序设计.ppt
  12. Druid.jar包
  13. win10安装双系统——ubuntu20.04安装步骤
  14. 搞懂微服务,从捕捉一头野猪说起
  15. Difference between Vienna DL LLS and UL LLS
  16. 亚历山大对马其顿士兵的演说(经典演说
  17. mysql建立序列相关操作 sequence
  18. 【TcaplusDB君】 行业新闻汇编(5月25日)
  19. python之turtle库学习(海龟图形)
  20. GreenDao笔记

热门文章

  1. 迅雷手机版苹果版_迅雷IOS版恢复下载,又能用苹果手机下载电影愉快追剧了
  2. 最新服务器处理器天梯,2019 最新 至强 Xeon E5 服务器系列 CPU天梯图
  3. 硬件系列(一)----------WIFI打印机之使用socket进行打印机搜索
  4. Chrome插件--》油猴的使用
  5. Java 电阻计算器(一)
  6. 仿微信读书APP原型设计
  7. 如何用python做软件导出cad_使用python将cad批量导出至pdf
  8. 小学英语与计算机技术整合,浅谈多媒体技术与小学英语教学的整合
  9. Windows下最快的磁盘空间分析软件——WizTree
  10. 运动步数抽奖小程序开发