码迷,mamicode.com
首页 > 其他好文 > 详细

用三种方法实现strlen函数

时间:2015-12-01 16:34:28      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:用三种方法实现strlen函数

实现strlen函数有三种方法:

一、计数器的方法

二、递归的方法

三、指针减指针的方法

下面是三种方法的实现:

计数器的方法:

int my_strlen(const char *str)
{
 assert(str);    //对指向字符串指针的断言
 int count = 0;
 while (*str)
 {
  count++;
  str++;
 }
 return count;
}

递归的方法:

int my_strlen(const char *str)
{
 assert(str);
 if (*str == ‘\0‘)
  return 0;
 else
     return 1 + my_strlen(str + 1);
}

指针减指针的方法:

int my_strlen(const char *str)
{
 assert(str);
 const char *p = str;
 while (*p++)
 {
  ;
 }
 return p - str - 1; 

 //因为*p==‘\0’时,再自加1,返回时指向‘\0‘的下一个空间,导致指针相减时多出一个元素,因此再减1才返回字符串的长度。
}

用三种方法实现strlen函数

标签:用三种方法实现strlen函数

原文地址:http://haipi.blog.51cto.com/10778780/1718546

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!