C语言进阶之路——strlen函数及其模拟实现

1.函数介绍

1.1  strlen

        strlen函数是库中用于求字符串的长度,我们在程序中求字符串的长度时常常用到,在使用时要包含:<string.h> 头文件。

(1)字符串已经 '\0' 作为结束标志,strlen函数返回的是在字符串中 '\0' 前面出现的字符个数(不包
含 '\0' )。
(2)size_t strlen ( const char * str );
(3)参数指向的字符串必须要以 '\0' 结束。
(4)注意函数的返回值为size_t,是无符号的( 易错 )。

具体实现如下:

#include <stdio.h>
int main()
{
 const char*str1 = "abcdef";
 const char*str2 = "bbb";
 if(strlen(str2)-strlen(str1)>0)
 {
     printf("str2>str1\n");
 } 
 else
 {
     printf("srt1>str2\n");
 }
 return 0;
}

1.2  strlen函数的模拟实现

三种方式:

方式1:

//计数器方式
int my_strlen(const char * str)
{
 int count = 0;
 while(*str)
 {
     count++;
     str++;
 }
 return count;
}

方式二:

//不能创建临时变量计数器
//递归函数
int my_strlen(const char * str)
{
 if(*str == '\0')
     return 0;
 else
     return 1+my_strlen(str+1);
}

方式三:

//指针减指针的方式

int my_strlen(char *s)
{
   char *p = s;
   while(*p != ‘\0’ )
       p++;
   return p-s;
}

        三种方法都能达到函数的模拟效果,希望对你所帮助。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值