C语言 模拟实现strlen函数

骑猪看日落 2024-04-06 11:39 235阅读 0赞

strlen 函数

  strlen函数是求字符串的长度,具体用法观看一下代码讲解。

  1. char arr[4]="abc";
  2. int len=strlen(arr);
  3. printf("%d",ret);
  4. //打印的 3
  5. //因为在字符串的最后面有有一个字符'\0';
  6. //strlen函数遇到字符'\0'时会停止

模拟书写strlen函数,且创建临时变量

思路: 指针放在字符串的首地址处,一个一个字符的查找,每找到一个非’\0’的字符,就进行一次计数,直到找打’\0’;

  1. #include<stdio.h>
  2. int my_strlen(char* str)
  3. {
  4. //注意这里的时char* str,传入的是数组的首地址
  5. int count=0;
  6. while(1)
  7. {
  8. if(*str='\0')
  9. {
  10. count++;
  11. //每找的一个字符不是'\0',count就++一次
  12. str++;
  13. //每找完一个字符,指针向有移动,查看下一个字符。
  14. }
  15. else
  16. {
  17. return count;
  18. }
  19. }
  20. }
  21. int main()
  22. {
  23. char ch[]="abc";
  24. int ret=my_strlen(ch);
  25. printf("%d",ret);
  26. return 0;
  27. }

在这里插入图片描述

模拟书写strlen函数,且不创建临时变量

递归思想:

  1. my_strlen("abc");
  2. 1+my_strlen("bc");
  3. 1+1+my_strlen("c");
  4. 1+1+1+my_strlen("\0");
  5. 1+1+1+0
  6. #include<stdio.h>
  7. int my_strlen()
  8. {
  9. if(*str!='\0')
  10. {
  11. return 1+my_strlen(1+str);
  12. }
  13. else
  14. {
  15. return 0;
  16. }
  17. }
  18. int main()
  19. {
  20. char ch[]="abc";
  21. int ret=my_strlen(ch);
  22. printf("%d",ret);
  23. return 0;
  24. }

在这里插入图片描述

学的不是技术,更是梦想。

发表评论

表情:
评论列表 (有 0 条评论,235人围观)

还没有评论,来说两句吧...

相关阅读