一起talk C栗子吧(第六十七回:C语言实例--DIY字符串长度函数)
2015-11-29 08:58
393 查看
各位看官们,大家好,上一回中咱们说的是DIY字符串比较函数的例子,这一回咱们说的例子是:DIY字符串长度函数。闲话休提,言归正转。让我们一起talk C栗子吧!
我们在前面的章回中没有专门介绍过字符串长度函数,只是简单提了几句。不过在实际工作中经常使用它计算字符串的长度,使用时只需要注意它不把字符串的小尾巴看作字符串的内容,也就是说不计算小尾巴的长度。今天让我们一起DIY字符串长度函数:strlen。 Just do it by yourself!
1.判断字符串s1是否是空串,如果是空串,那么返回0;如果不是,进入下一步;
2.从字符串的第一个字符开始,依次统计字符串中字符的数量,直到遇到字符串的小尾巴为止;
3.返回步骤2中统计的数量;
下面是我写的代码,请大家参考:
下面是标准库中strlen函数的代码,请大家和我们DIY的代码进行比较:
通过对比,大家可以发现,标准库提供的代码和我们DIY的代码不一样。标准库使用指针的差值做为长度,我们使用了单独的变量来统计长度,不过它们的计算思路是一样的。希望大家能够掌握。
各位看官,关于DIY字符串长度函数的例子咱们就说到这里。欲知后面还有什么例子,且听下回分解。
我们在前面的章回中没有专门介绍过字符串长度函数,只是简单提了几句。不过在实际工作中经常使用它计算字符串的长度,使用时只需要注意它不把字符串的小尾巴看作字符串的内容,也就是说不计算小尾巴的长度。今天让我们一起DIY字符串长度函数:strlen。 Just do it by yourself!
DIY strlen函数
int diy_strlen(const char *s1)1.判断字符串s1是否是空串,如果是空串,那么返回0;如果不是,进入下一步;
2.从字符串的第一个字符开始,依次统计字符串中字符的数量,直到遇到字符串的小尾巴为止;
3.返回步骤2中统计的数量;
下面是我写的代码,请大家参考:
int diy_strlen(const char *s1) { int len = 0; if(NULL == s1) return 0; while(*s1 != '\0') { s1++; len++; } return len; }
下面是标准库中strlen函数的代码,请大家和我们DIY的代码进行比较:
/** * strlen - Find the length of a string * @s: The string to be sized */ size_t strlen(const char *s) { const char *sc; for (sc = s; *sc != '\0'; ++sc) /* nothing */; return sc - s; }
通过对比,大家可以发现,标准库提供的代码和我们DIY的代码不一样。标准库使用指针的差值做为长度,我们使用了单独的变量来统计长度,不过它们的计算思路是一样的。希望大家能够掌握。
各位看官,关于DIY字符串长度函数的例子咱们就说到这里。欲知后面还有什么例子,且听下回分解。
相关文章推荐
- 【C++学习与应用总结】1: 两种变长参数函数比较
- c++实现将表达式转换为逆波兰表达式
- 动态链接库DLL导出函数名字改编问题
- C语言文件操作
- c语言:编写一个程序,输入a,b,c三个值,输出其中最大者
- Ubuntu 12.04 使用Eclipse搭建C/C++编译环境
- c语言:求多项式1-1/2+1/3-1/4+...+1/99-1/100的值,3种循环实现
- c语言:计算存款利息
- c语言:根据华氏温度求摄氏温度,并分析错误
- c语言:判断两个数组是否有相同的元素
- c语言:全局变量与局部变量的区别
- 通讯录小程序(C/C++)C语言练习小程序
- 【C语言】37个关键字
- 【C语言】结构组成(函数、语句、注释)
- 【C语言】严格区分大小写
- 【C语言】中的stdbool.h头文件
- c语言:输出以下关键字的字节大小及输出一个地址:char,short,int,float,double,long
- 方便!C++ builder快捷键大全
- c语言:两种方法判断1到100之间的奇数
- C/C++ Find the missing number