当前位置:   article > 正文

C语言---------strlen的使用和模拟实现

C语言---------strlen的使用和模拟实现

字符串是以‘\0’作为结束标志,strlen函数的返回值是‘\0’前面的字符串的个数(不包括‘\0’)

注意

1,参数指向的字符串必须以‘\0’结束

2,函数的返回值必须以size_t,是无符号的

使用代码

  1. #include<stdio.h>
  2. #include<string.h>
  3. int main()
  4. {
  5. char arr[] = "abcdef";
  6. int a = strlen(arr);
  7. printf("%d", a);
  8. return 0;
  9. }

                                                           结果运行

strlen模拟实现

方法1

  1. int my_strlen(const char * str)
  2. {
  3. int count = 0;
  4. assert(str);
  5. while(*str)
  6. {
  7. count++;
  8. str++;
  9. }
  10. return count;
  11. }

方法2

  1. int my_strlen(const char * str)
  2. {
  3. assert(str);
  4. if(*str == '\0')
  5. return 0;
  6. else
  7. return 1+my_strlen(str+1);
  8. }

方法3

  1. int my_strlen(char *s)
  2. {
  3. assert(str);
  4. char *p = s;
  5. while(*p != ‘\0’ )
  6. p++;
  7. return p-s;
  8. }

整体代码

  1. #include<stdio.h>
  2. #include<assert.h>
  3. int my_strlen(char* arr)
  4. {
  5. assert(arr);
  6. char* p = arr;
  7. while (*p!= '\0')
  8. p++;
  9. return p - arr;
  10. }
  11. int main()
  12. {
  13. char arr[] = "abcdef";
  14. int a = my_strlen(arr);
  15. printf("%d", a);
  16. return 0;
  17. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/347682
推荐阅读
相关标签
  

闽ICP备14008679号