求字符串长度的函数的几种实现方法
1.最常用的方法是创建一个计数器,判断是否遇到‘\0’,不是'\0'指针就往后加一。
int my_strlen(const char *str)
{assert(str != NULL);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语言中用于获取字符串长度的函数是,C语言中求字符串长度的函数的几种实现方法...
C语言中求字符串长度的函数的几种实现方法 1.最常用的方法是创建一个计数器,判断是否遇到'\0',不是'\0'指针就往后加一. int my_strlen(const char *str) { ass ...
- C语言中求字符串长度的函数my_strlen()的几种实现方法
C语言中求字符串长度的函数的几种实现方法 1.最常用的方法是创建一个计数器,判断是否遇到'\0',不是'\0'指针就往后加一. int my_strlen(const char *str) {asse ...
- C语言试题三十三之比较两个字符串的长度,(不得调用c语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。
1. 题目 请编写函数function,它的功能是:比较两个字符串的长度,(不得调用c语言提供的求字符串长度的函数),函数返回较长的字符串.若两个字符串长度相同,则返回第一个字符串. 2 .温馨提示 ...
- 25.请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字 符串。
25.请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串.若两个字符串长度相同,则返回第一个字 符串. 例如,输入:beijing ...
- 编写一个不创建临时变量求字符串长度的函数
#include<stdio.h> #define N 20 int Strlen(const char* str) {if (*str != '\0')return 1 + Strlen ...
- Sql字符串分组Split函数的两种实现方法
在给文章加自定义标签时,需要在存储过程中对输入的字符串按照","字符分割成一个字符数组.但是Sql中没有实现字符串分组的Split方法.因此就需要编写一个自定义的Split函数.我 ...
- 求字符串长度【三种解题思路】
文章目录 一.递归法 二.指针减指针法 三.计数器法 题目:模拟实现一个strlen函数,也就是求字符串长度的函数. 一.递归法 #include<stdio.h> #include& ...
- 三种方法求字符串长度
在求字符串长度时,第一时间会想到运用strlen这个函数,但对于初学者来说,除了掌握这个函数之外,还应当自己写函数来实现相似的功能. 接下来我列举了三种方法来求字符串长度,供大家参考: (1)运用st ...
- 求字符串长度的三种方法(C语言)
如何求字符串的长度? 首先要明白字符串存储的原理. 字符串存储时,是以'\0'结尾,这个就可以作为判断字符串结尾的一个条件. 接下来,只要有字符串的首元素地址,就可以解决求字符串长度的问题啦! 第一种 ...
- 【C语言】模拟实现库函数 strcpy(复制字符串内容) 与 strlen(求字符串长度)
前言:对于库函数的使用,我们不仅要会使用方法,更要知晓使用原理,而知晓使用原理最好的方法就是模拟相应库函数的使用. 今天我们就来模拟 strcpy(复制字符串内容) 与 strlen(求字符串长度)这 ...
最新文章
- Everest 0.6 设置ADSL上网
- Windows Server入门系列34 用户配置文件
- C与C++ 无参函数的区别
- anaconda安装后只有几个文件,大量文件缺失,开始栏里没有图标的解决方法
- Yuhao and a Parenthesis
- java父类子类顺序_java父类子类內部程序的执行顺序
- Queue Explorer过期处理
- 1602: [Usaco2008 Oct]牧场行走
- 中柏平板触摸驱动_华北工控 | 工业平板电脑在医院自助设备中的广泛应用
- 第七届蓝桥杯省赛--方格填数--DFS或全排列
- 三点顺序(计算几何入门)
- FX5 C的编程语言,三菱FX5-C32EX/D手册FX5-C32EX/D编程手册 - 广州凌控
- Cocos Creator 如何在 VideoPlayer 上面放置 UI 控件
- oppo 系列手机刷机教程
- 电子电路计算机仿真应用,电子电路计算机仿真技术
- 2021年游戏项目的十大编程语言
- matlab小波变换、离散小波变换函数使用
- 系统软件项目成本构成及估算方法
- 计算机 无法 访问共享网络打印机,共享打印机无法连接怎么办解决方案
- 计算机中应用管理在哪里,应用程序管理器在哪里
热门文章
- NAT 穿透是如何工作的:技术原理及企业级实践
- python爬去新浪微博_Python爬取新浪微博热搜榜
- python宣传视频 抖音_python下载抖音无水印视频
- ant design入门_Umi + ant Design Pro最简单的入门教程(一)初
- mysql数据库定时清理数据
- visionman-visionpro培训大纲
- 小提琴1234567位置图解_小提琴的指法图
- win10怎么用计算机二进制,Win10计算器怎么算二进制_win10计算器二进制使用教程...
- 参考文献标准格式总结
- java在线查看PDF