c语言提取字符串长度函数,C语言中求字符串长度的函数my_strlen()的几种实现方法...

C语言中求字符串长度的函数的几种实现方法

1.最常用的方法是创建一个计数器,判断是否遇到‘ ’,不是’ ’指针就往后加一。

int my_strlen(const char *str)

{

assert(str != NULL);//此句判段str是否为空指针(事实上这条语句可以省略)

/*assert()其实是一个在中定义的宏;

当assert后面括号内的表达式为真时,程序悄无声息执行下一条;

为假时,宣判程序“死刑”*/

int count = 0;

while (*str != ' ')

{

count++;

str++;

}

return count;

}

2.不创建计数器,从前向后遍历一遍,没有遇到‘ ’就让指针向后加一,找到最后一个字符,记下来地址,然后用最后一个字符的地址减去起始地址,就得到了字符串的长度。

int my_strlen(const char *str){

char *end = str;

assert(str!=NULL);

assert(end!=NULL);

while (*end != ' ')

{

end++;

}

return end - str;

}

3.不创建计数器,递归实现。

int my_strlen(const char *str)

{

assert(str != NULL);

if (*str == ' ')

{

return 0;

}

else

{

return (1 + my_strlen(++str));

}

}

也可以写成这样:

int my_strlen(const char *str){

assert(str != NULL);

return (*str == ' ') ? 0 : (my_strlen(++str) + 1);

}

或者这样:

int my_strlen(const char *str){

assert(str != NULL);

return (*str == ' ') ? 0 : (my_strlen(str+1) + 1);

}

如果大家有更多方法,欢迎在下面评论。

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

小编个人微信号 jb51ccc

喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值