string 之 strlen函数

Author: bakari  Date: 2012/8/9

近两年好多的IT公司喜欢拿一些库函数来考,string函数库当然是首选,除此之外,像qsort,STL里的函数也经常火。虽然这些函数咋一看很简单,但有一些细节问题还是很能说明问题,这些细节问题往往就是公司最看重的。吾将之整理作为总结和共享。

下面是我写的代码与源码作的一些比较,均已严格测试通过,分别以“string 之”系列述之。

 1 /*******************************************************
 2  *  strlen
 3  *  two versions
 4  *  recursion not use local variable
 5  *******************************************************/
 6 
 7 //不使用局部变量(递归求长度)
 8 size_t Mystrlen(const char *str){
 9     if(*str == '\0')
10         return 0;
11      return strlen(str+1)+1;
12 }
13 
14 //用变量辅助
15 size_t Mystrlen(const char *str){
16     int nLen = 0;
17     while(*str ++ != '\0')  ++nLen;
18         return nLen;
19 }
20 
21 /*********************************************/
22 /*     this is source code     */
23 size_t Mystrlen(const char *str){
24     const char *repStr = str;
25     for(; *str != '\0'; str ++);
26         return str - repStr;
27 }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏HansBug's Lab

3391: [Usaco2004 Dec]Tree Cutting网络破坏

3391: [Usaco2004 Dec]Tree Cutting网络破坏 Time Limit: 1 Sec  Memory Limit: 128 MB Su...

32710
来自专栏行者悟空

利用Hadoop Mapreduce实现pv统计分析

2773
来自专栏HansBug's Lab

3361: [Usaco2004 Jan]培根距离

3361: [Usaco2004 Jan]培根距离 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 16  S...

3555
来自专栏Java帮帮-微信公众号-技术文章全总结

秒懂,Java 注解 (Annotation)你可以这样学【面试+工作】

这处图片引自老罗的博客。为了避免不必要的麻烦,首先声明我个人比较尊敬老罗的。至于为什么放这张图,自然是为本篇博文服务,接下来我自会说明。好了,可以开始今天的博...

3263
来自专栏架构说

110. 平衡二叉树

世界分为三条线,两实一虚: 1. 当前时间线: 黑帽威廉时间线,凡是有黑帽威廉的都在当前时间 2. 历史时间线:白帽威廉时间线 (35年前),凡是有白帽威廉的都...

982
来自专栏lonelydawn的前端猿区

Node.js力破江苏网警刑侦科推理试题

月前,江苏网警 在微博发布了一套《2018年刑侦科目推理试题》,可谓难倒了诸多英雄好汉,评论区内更是一片皮皮之音。 @二向箔icon: 高考前班主任教过我们,...

3307
来自专栏HansBug's Lab

1934: [Shoi2007]Vote 善意的投票

1934: [Shoi2007]Vote 善意的投票 Time Limit: 1 Sec  Memory Limit: 64 MB Submit: 1174  ...

2827
来自专栏潇涧技术专栏

Python Algorithms - C1 Introduction

算法导论是一本经典的大而全的算法书籍,而本书Python Algorithms不是来取代而是来补充算法导论的,因为算法导论提供的是简易的伪代码和详细的证明,而本...

792
来自专栏HansBug's Lab

算法模板——splay区间反转 2

实现功能:同splay区间反转 1(基于BZOJ3223 文艺平衡树) 这次改用了一个全新的模板(HansBug:琢磨了我大半天啊有木有),大大简化了程序,同时...

27110
来自专栏技术博客

设计模式之前奏(UML类图)

本人菜菜一个,最近一直在博客园游走闲逛,看到了各种技术,各种各种……。便看到了大话设计模式这本书,下了电子版的看了看第一章,感觉相当不错,不仅通俗易懂,而且与实...

2113

扫码关注云+社区

领取腾讯云代金券