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

模拟strlen的三种实现方式

时间:2015-09-08 07:16:33      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:strlen三种实现方式

#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<stdio.h>

#include<stdlib.h>

#include<assert.h>

 

int my_strlen(const char *p)
{
     int count = 0;
     assert(p!=NULL);
     while (*p)
     {
      count++;
      p++;
     }
     return count;
}//遍历字符串

int my_strlen_2(const char *p)
{
     assert(p!=NULL);
     static int count = 0;
     if (*p != 0)
     {
      count++;
      my_strlen_2(++p);
     }
     return count;
}//递归实现

int my_strlen_3(const char *p)
{
     assert(p!=NULL);
     const char *str = p;
     while (*str++);
      return ((int)str-(int)p-1);
}//地址相减实现

int main()
{
     char str[10] = "abcdefg";
     //int ret = my_strlen(str);
     //int ret = my_strlen_2(str);
     //int ret = my_strlen_3(str);
     printf("%d",ret);
     system("pause");
     return 0;
}

模拟strlen的三种实现方式

标签:strlen三种实现方式

原文地址:http://10613624.blog.51cto.com/10603624/1692485

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