C语言strlen函数的模拟实现
目录
使用计数方法实现strlen函数的模拟实现
使用递归的方式去实现
使用指针的方式去模拟实现strlen
使用计数方法实现strlen函数的模拟实现
在这里有一个assert函数这是断言,防止空指针,
在指针前面加上const 为了指针不被修改
#include<assert.h>
#include<stdio.h>
//模拟实现 strlen
int my_strlen(const char* str)
{assert(str != NULL);int count = 0;//计数器while (*str)//如果*str不是'\0',那么就继续循环{str++;count++;}return count;
}
使用递归的方式去实现
找如果*str不是'\0',那么就str+1,跳过,如果最后就是'\0',那么就返回0,
因为返回类型int,就一个返回一个,加,就模拟实现了strlen
int my_strlen(const char* str)
{assert(str != NULL);if (*str)return 1 + my_strlen(str + 1);elsereturn 0;
}//递归实现
使用指针的方式去模拟实现strlen
在这里思路:使用指针减去指针的方式,指针减去指针返回的值就是俩指针之间的元素个数
int my_strlen(const char* str)
{assert(str != NULL);char* begin = str;char* end = str;while (*end){end++;}//寻找'\0'的位置return end - begin;
}//原理是指针减去指针返回中间元素的个数
看使用效果
C语言strlen函数的模拟实现相关推荐
- C语言 strlen 函数 - C语言零基础入门教程
目录 一.strlen 函数简介 二.strlen 函数实战 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.strlen 函数简介 ...
- C语言strlen()函数用法
C语言strlen()函数:返回字符串的长度 头文件:#include <string.h> strlen()函数用来计算字符串的长度,其原型为:unsigned int strlen ( ...
- 切割字符串长度php,C++_C语言中计算字符串长度与分割字符串的方法,C语言strlen()函数:返回字符串 - phpStudy...
C语言中计算字符串长度与分割字符串的方法 C语言strlen()函数:返回字符串的长度头文件: #include strlen()函数用来计算字符串的长度,其原型为: unsigned int str ...
- c语言strlen函数的作用是什么,c语言strlen函数的使用方法是什么
c语言strlen函数的使用方法是什么 发布时间:2020-08-20 11:54:33 来源:亿速云 阅读:116 作者:小新 小编给大家分享一下c语言strlen函数的使用方法是什么,希望大家阅读 ...
- C语言 strlen()函数
C语言 strlen 函数用来求字符串的长度(包含多少个字符). strlen() 函数从字符串的开头位置依次向后计数,直到遇见\0,然后返回计时器的值.最终统计的字符串长度不包括\0. 头文件:st ...
- C语言strlen函数求字符串长度及自己实现
strlen size_t strlen ( const char * str ); 1.字符串已经'\0'作为结束标志,strlen函数返回的是在字符串中'\0'前面出现的字符个数(不包含'\0' ...
- C语言strlen函数详解
strlen函数详解 一.strlen函数简介 1.函数原型 2.注意事项 二.strlen函数模拟实现 1.计数器方式 2.递归实现 3.指针-指针实现 一.strlen函数简介 1.函数原型 si ...
- 【C语言 strlen函数的实现】
strlen函数的实现 strlen函数是干什么用的 strlen函数是C语言的里的库函数,C语言中一般是计算字符串长度的 直接上代码示例: #include<stdio.h> #incl ...
- C语言 strlen(int),C语言 - strlen函数及int,char转换问题
题目 intmain() { inti; chara[1000]; for(i=0;i<256;i++) a[i]=i+1; printf("len = %d\n",strl ...
最新文章
- 三、Bean的初始化
- Sql 某一字段统计
- Exchange 2013/2016动态通讯组成员查询
- mysql数据库对象关系映射
- 【CyberSecurityLearning 29】Linux下命令帮助、压缩、vim、软件安装
- selenium:使用已打开的chrome浏览器
- oracle 驱动表提示错误代码,oracle驱动表以及如何确定驱动表
- css背景图充满整个屏幕
- 真是蛋疼,cvet网测
- JS开发工具WebStorm使用快捷键
- 怎么查看Java的源代码
- 汽车零部件开发工具巨头V公司全套bootloader中UDS协议栈源代码
- 线与逻辑与OC门、OD门关系
- Android 一个adapter实现商品列表折叠
- 二级路由添加网络打印机的方法
- hdoj 2586 How far away ?
- livezilla账号或密码修改方法
- c语言编程快速收敛的圆周率计算,[原创]圆周率PI的计算(精确到几十万位)
- poisoned dagger
- 【转】写给欲采访刘丁宁事件的媒体
热门文章
- 基于ROS搭建简易软件框架实现ROV水下目标跟踪(二)--硬件框架简述
- 软件开发和测试 考点
- 26th.Feb.2019
- 4月自考,这些省已经可以查分数了!
- 行业唯一,Eolink 入选信通院“云上软件工程社区汽车云工作组”首批企业成员名单
- 呵护你上上下下的享受:国内电梯保险概览
- 【翻译】LearnYouSomeErlangForGreatGood(二):起始
- linux关闭telnet服务的命令,linux如何开启telnet服务
- Python列表操作中extend和append的区别
- 浅谈汽车软件的质量保证