如何求字符串的长度?

首先要明白字符串存储的原理。

字符串存储时,是以'\0'结尾,这个就可以作为判断字符串结尾的一个条件。

接下来,只要有字符串的首元素地址,就可以解决求字符串长度的问题啦!

第一种,普通版

int my_strlen(char* str)
{int count = 0;while(*str != '\0'){count++;str++;}return count;
}
int main()
{char arr[] = "abcdef";int len = my_strlen(arr);printf("字符串的长度为%d\n", len);return 0;
}

第二种,递归版

int my_strlen(char* str)
{if (*str == '\0')return 0;elsereturn 1 + my_strlen(str + 1);
}

第三种,指针版

通过指针运算,利用指针-指针可以求得字符串的长度。

int my_strlen(char* str)
{char* start = str;while (*str != '\0'){str++;}return str - start;
}

求字符串长度的三种方法(C语言)相关推荐

  1. c语言求字符串长度的三种方法(部分略微优化)

    求字符串的长度,很多人都会直接想到用strlen函数,只需要头文件string.h就可以很轻松的实现,但对于我们c语言的初学者,也应该尝试用其他方法来进行实现,除了strlen函数外有三种方法可供参考 ...

  2. 【c语言】模拟strlen函数求字符串长度的三种方法

    1.借助中间变量(常规方法) #include<stdio.h> int my_strlen(char* str)//接收了数组首元素的地址 {int count = 0;while (* ...

  3. 计算字符串长度的三种方法(库函数 指针 )【详解】

    目录 求字符串长度的一般原理 方法一:strlen函数 函数原型 使用方法 方法二:指针+整数 方法三:指针-指针 总结: 求字符串长度的一般原理 求字符串长度简单来说就是计算一个字符串(字符数组)中 ...

  4. 求字符串长度【三种解题思路】

    文章目录 一.递归法 二.指针减指针法 三.计数器法   题目:模拟实现一个strlen函数,也就是求字符串长度的函数. 一.递归法 #include<stdio.h> #include& ...

  5. C++求字符串长度的两种方法

    针对于string类型的,可以采用strlen 针对于wstring类型的,可以采用_tcslen方法 实例代码: //字符串测试Unicode和ansi void strControl() {std ...

  6. C++ 获取string字符串长度的三种方法

    1.用string的成员方法length()获取字符串长度 length()比较直观,表示的就是该字符串的长度. #include <string> #include <iostre ...

  7. C语言-求字符串长度的几种方法

    1.使用库函数<string.h> #include <stdio.h> #include <string.h> int main() {char arr[] = ...

  8. (转)Shell中获取字符串长度的七种方法

    Shell中获取字符串长度的七种方法 原文:http://blog.csdn.net/jerry_1126/article/details/51835119 求字符串操作在shell脚本中很常用,下面 ...

  9. 实现java字符串反转的三种方法

    实现java字符串反转的三种方法 1.问题描述:将字符串String="abcdefg"实现反转变成 "gfedcba":用java语言实现. 2.解决方法: ...

最新文章

  1. 认证模式之Basic模式
  2. todo已完成任务_uTools 插件介绍 | 「todo」!打工人必备
  3. ARKit从入门到精通(7)-ARCamera介绍
  4. 2020年第十一届蓝桥杯 - 省赛 - Python大学组 - D.蛇形填数
  5. HDLBits答案(25)_编写Testbench
  6. Web安全CSRF攻击与防御
  7. Bootstrap中DropDown插件显示下拉列表,点击下拉列表区域,不会再自动关闭。
  8. Linux环境安装zookeeper3.5.5后,总是启动不了
  9. 首届CSS开发者大会|七牛助力前端开发
  10. 实现机器学习的循序渐进指南系列汇总
  11. python mysql python.h_MySQLdb/_mysql.c:38:20: fatal error: Python.h: No such file or directory
  12. AndroidStudio_安卓原生开发_自定义单选列表Spinner绑定自定义数据类型---Android原生开发工作笔记143
  13. [SSH] 设置密钥登陆
  14. 洛谷P1551 亲戚题解
  15. 前端可视化开发-编辑器
  16. 为什么Zappos花钱让新员工走人?
  17. C#中存储过程的调用
  18. java毕业设计开题报告SSM图书馆预约占座系统
  19. 微信emoji表情包存入数据库报错处理
  20. 自动量化炒股软件是什么?

热门文章

  1. 我与Python处处吻
  2. JavaScript 事件对内存和性能的影响
  3. 在线乞讨系统 Docker一键部署
  4. Tableau 空难统计分析(四)
  5. 《开源使用技术文摘》2009春节特刊火爆下载!
  6. 新浪微博搜索 每页微博条数修改 50条 100条
  7. 我的python爬虫学习之路
  8. 12月14日——培训第21天
  9. UML是什么?常用的几种图有哪些?
  10. ROS利用RRT*导航代码报错process has died [pid 16501, exit code -11的解决方法