C语言中求字符串长度的函数的几种实现方法

1.最常用的方法是创建一个计数器,判断是否遇到‘\0’,不是’\0’指针就往后加一。

int my_strlen(const char *str)
{assert(str != NULL);//此句判段str是否为空指针(事实上这条语句可以省略)/*assert()其实是一个在<assert.h>中定义的宏;当assert后面括号内的表达式为真时,程序悄无声息执行下一条;为假时,宣判程序“死刑”*/int count = 0;    while (*str != '\0'){count++;                           str++;    }    return count;
}

2.不创建计数器,从前向后遍历一遍,没有遇到‘\0’就让指针向后加一,找到最后一个字符,记下来地址,然后用最后一个字符的地址减去起始地址,就得到了字符串的长度。

int my_strlen(const char *str){    char *end = str;    assert(str!=NULL);    assert(end!=NULL);    while (*end != '\0')    {        end++;    }    return end - str;
}

3.不创建计数器,递归实现。

int my_strlen(const char *str)
{assert(str != NULL);    if (*str == '\0')    {        return 0;    }    else    {        return (1 + my_strlen(++str));    }
}

也可以写成这样:

int my_strlen(const char *str){    assert(str != NULL);    return (*str == '\0') ? 0 : (my_strlen(++str) + 1);
}

或者这样:

int my_strlen(const char *str){    assert(str != NULL);    return (*str == '\0') ? 0 : (my_strlen(str+1) + 1);
}

如果大家有更多方法,欢迎在下面评论。

C语言中求字符串长度的函数my_strlen()的几种实现方法相关推荐

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

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

  2. php语言中计算字符串长度的函数是,php 语言中计算字符串长度函数是:

    [单选题]Who is the director of the film Farewell My Lady ? [多选题]建筑构造设计的原则有(). [多选题]处理色彩时,主色.辅色.点缀色的比例为: ...

  3. C语言试题三十三之比较两个字符串的长度,(不得调用c语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。

    1. 题目 请编写函数function,它的功能是:比较两个字符串的长度,(不得调用c语言提供的求字符串长度的函数),函数返回较长的字符串.若两个字符串长度相同,则返回第一个字符串. 2 .温馨提示 ...

  4. 25.请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字 符串。

    25.请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串.若两个字符串长度相同,则返回第一个字 符串. 例如,输入:beijing ...

  5. 切割字符串长度php,C++_C语言中计算字符串长度与分割字符串的方法,C语言strlen()函数:返回字符串 - phpStudy...

    C语言中计算字符串长度与分割字符串的方法 C语言strlen()函数:返回字符串的长度头文件: #include strlen()函数用来计算字符串的长度,其原型为: unsigned int str ...

  6. C语言中的字符串转数字函数常见问题详解

    目录 C语言中的字符串转数字函数常见问题详解 字符串转整形 atoi函数 字符串转长整形 strtol函数, C语言中的字符串转数字函数常见问题详解 字符串转整形 atoi函数 函数原型: int a ...

  7. php求字符串长度函数是,PHP中获取字符串长度的函数是 。

    [判断题]探索精神不属于创新精神的表现? [单选题]从结构分类上,5-FU是( )类的抗代谢物 [单选题]当前占跨境电子商务比重较低,但增长最为迅速的是哪一部分 [多选题]要降低树木栽植后蒸腾作用以提 ...

  8. 中统计字符串长度的函数_SQL Server中的字符串分割函数

    您是否知道从SQL Server 2016开始,系统就内置STRING_SPLIT函数,该函数用于将字符串分隔的变量拆分为一个可用列表. 对于经常需要分割字符串的技术人员,建议您查看此功能. STRI ...

  9. mysql中:获取字符串长度length函数和char_length函数的区别

    先上结论: length函数: 计算值的长度-但1个中文会算作长度3,1个数字或者字母-算作长度1; char_length函数: 计算值的长度-但1个中文或者1个数字或者字母-都算作长度1; sql ...

最新文章

  1. 怎么调节手机的刷新率_高刷新率屏幕为何开始流行起来?
  2. linux安装phpredis扩展
  3. nginx 并发过十万
  4. Git 中 .gitignore 的配置语法
  5. Hadoop2.6.0中YARN底层状态机实现分析
  6. bat 字符串截取操作
  7. EM算法——解释 转载
  8. MIME类型完整列表
  9. 傅里叶思想漫谈:从希尔伯特空间到不确定性原理
  10. 用RCircos包来画圈圈图
  11. 【UIAutomator2】实现微信自动加好友功能
  12. 以计算机的发展写一篇英语作文,写一篇关于网络的英语作文
  13. Spring Cloud启动-4-应用监听器ApplicationListener之BootstrapApplicationListener
  14. C++ opencv 识别火焰 (代码)
  15. zabbix——分布式监控系统
  16. 阶乘计算(1~10)(C#)
  17. 微信小程序之小试牛刀
  18. scp拷贝多个小文件
  19. 汇编语言程序设计V-贺利坚-专题视频课程
  20. 换个角度理解封装的意义

热门文章

  1. cocos creater 游戏开发工具方法
  2. Git使用-从一个git仓库迁移到另外一个git仓库
  3. FreeModbus library 程序详解
  4. 如何给51单片机下载程序
  5. linux 密码设置及登陆控制/设置密码复杂度 (/etc/pam.d/system-auth)
  6. Java博客系统halo的搭建
  7. 这10个安全测试工具,优秀且免费
  8. PSO算法(优化与探索四*DDPG与GAN)
  9. ajax结合前端模板引擎ejs.js渲染页面(自己理解,不建议参考)
  10. js拆字_分图程序 _制作个人字体_手写字制作ttf字体方法