【C语言】三种方法实现strlen函数
2016-01-15 23:42
309 查看
#include <stdio.h> #include <assert.h> int my_strlen1(const char *str)//指针相减 { assert(str); const char *ptr = str; while (*ptr++ != '\0') { ; } return ptr - str - 1; } int my_strlen2(const char *str)//递归 { assert(str); while (*str != '\0') { return 1 + (strlen(str + 1)); } } int my_strlen3(const char *str)//计数器 { assert(str); int count = 0; while (*str != '\0') { count++; str++; } return count; } int main() { char *str = "abcdefd"; printf("%d\n", my_strlen1(str)); printf("%d\n", my_strlen2(str)); printf("%d\n", my_strlen3(str)); system("pause"); return 0; }
相关文章推荐
- 类的初步知识(C++中直角坐标和极坐标之间的转换代码)
- 用c语言指针实现给整形数组冒泡排序
- 一起talk C栗子吧(第一百零二回:C语言实例--使用信号量进行进程间同步与互斥三)
- 【C语言】字符串替换空格:请实现一个函数,把字符串中的每个空格替换成“%20”。
- iOS 学习第八天 C语言 二维数组
- 【LeetCode-326】Power of three 上(C++)
- switch使用总结
- 初探C++流
- C/C++小知识
- C++实现二叉树(二)
- libsvm如何调用svm.cpp进行训练和预测的具体过程
- 一个计算器的C语言实现
- PVS-Studio C/C++/C++11 静态代码分析工具
- transform算法
- C++ STL 队列入门
- Visual Studio 中 C++ 代码 大括号折叠设置
- C/C++——构造函数、复制构造函数和析构函数的执行时刻
- C/C++ 经典面试题汇总
- VS2012下C++操作word(整理)
- 当C++指向对象的指针被赋值为NULL,对象那些函数可以运行?