求字符串长度的三种方法(C语言)
如何求字符串的长度?
首先要明白字符串存储的原理。
字符串存储时,是以'\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语言)相关推荐
- c语言求字符串长度的三种方法(部分略微优化)
求字符串的长度,很多人都会直接想到用strlen函数,只需要头文件string.h就可以很轻松的实现,但对于我们c语言的初学者,也应该尝试用其他方法来进行实现,除了strlen函数外有三种方法可供参考 ...
- 【c语言】模拟strlen函数求字符串长度的三种方法
1.借助中间变量(常规方法) #include<stdio.h> int my_strlen(char* str)//接收了数组首元素的地址 {int count = 0;while (* ...
- 计算字符串长度的三种方法(库函数 指针 )【详解】
目录 求字符串长度的一般原理 方法一:strlen函数 函数原型 使用方法 方法二:指针+整数 方法三:指针-指针 总结: 求字符串长度的一般原理 求字符串长度简单来说就是计算一个字符串(字符数组)中 ...
- 求字符串长度【三种解题思路】
文章目录 一.递归法 二.指针减指针法 三.计数器法 题目:模拟实现一个strlen函数,也就是求字符串长度的函数. 一.递归法 #include<stdio.h> #include& ...
- C++求字符串长度的两种方法
针对于string类型的,可以采用strlen 针对于wstring类型的,可以采用_tcslen方法 实例代码: //字符串测试Unicode和ansi void strControl() {std ...
- C++ 获取string字符串长度的三种方法
1.用string的成员方法length()获取字符串长度 length()比较直观,表示的就是该字符串的长度. #include <string> #include <iostre ...
- C语言-求字符串长度的几种方法
1.使用库函数<string.h> #include <stdio.h> #include <string.h> int main() {char arr[] = ...
- (转)Shell中获取字符串长度的七种方法
Shell中获取字符串长度的七种方法 原文:http://blog.csdn.net/jerry_1126/article/details/51835119 求字符串操作在shell脚本中很常用,下面 ...
- 实现java字符串反转的三种方法
实现java字符串反转的三种方法 1.问题描述:将字符串String="abcdefg"实现反转变成 "gfedcba":用java语言实现. 2.解决方法: ...
最新文章
- 认证模式之Basic模式
- todo已完成任务_uTools 插件介绍 | 「todo」!打工人必备
- ARKit从入门到精通(7)-ARCamera介绍
- 2020年第十一届蓝桥杯 - 省赛 - Python大学组 - D.蛇形填数
- HDLBits答案(25)_编写Testbench
- Web安全CSRF攻击与防御
- Bootstrap中DropDown插件显示下拉列表,点击下拉列表区域,不会再自动关闭。
- Linux环境安装zookeeper3.5.5后,总是启动不了
- 首届CSS开发者大会|七牛助力前端开发
- 实现机器学习的循序渐进指南系列汇总
- python mysql python.h_MySQLdb/_mysql.c:38:20: fatal error: Python.h: No such file or directory
- AndroidStudio_安卓原生开发_自定义单选列表Spinner绑定自定义数据类型---Android原生开发工作笔记143
- [SSH] 设置密钥登陆
- 洛谷P1551 亲戚题解
- 前端可视化开发-编辑器
- 为什么Zappos花钱让新员工走人?
- C#中存储过程的调用
- java毕业设计开题报告SSM图书馆预约占座系统
- 微信emoji表情包存入数据库报错处理
- 自动量化炒股软件是什么?