欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

【C语言小题】模拟实现库函数strlen

时间:2023-04-26

#include

strlen - string length 求字符串长度函数

1.优化版本!(用const修饰传入的指针)

assert用于检测传入指针是否为空(警告)

#include #include my_strlen(const char* str)//用const修饰char*指针,表明不能修改所指内容中的值{assert(str != NULL);const char* end = str;while (*end != ''){end++;}return end - str;}int main(){char arr[] = "abcdef";int len = my_strlen(arr);printf("%dn", len);return 0;}

2.递归方式

#include int my_Strlen(char* str){if (*str == ''){return 0;}else{return 1 + my_Strlen(1 + str);}} int main(){char *p = "abcdef";printf("字符长度为%d", my_Strlen(p));return 0;}

3.非递归方式

#include int my_Strlen(char* str){int count = 0;while ('' != *str){count++;str++;}return count;} int main(){char* p = "abcdef";printf("字符长度为%d", my_Strlen(p));return 0;}

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。