递归和非递归分别实现strlen
2018-10-12 02:11
246 查看
int my_strlen(char *arr) { if(*arr == '\0') //递归 { return 0; } else { return 1+my_strlen(arr+1); } } int my_strlen1(char *arr) { int count = 0; //计数方式 while(*arr) { arr++; count++; } return count; } int my_strlen2(char *arr) { char *p = arr; while(*p != '\0') //指针法 { p++; //元素地址 } return p - arr; //最后一个元素地址减去第一个元素地址即为元素个数 } int main() { char arr[] = "abcde"; my_strlen(arr); my_strlen1(arr); my_strlen2(arr); printf("%d\n",my_strlen(arr)); printf("%d\n",my_strlen1(arr)); printf("%d\n",my_strlen2(arr)); return 0; }阅读更多
相关文章推荐
- C语言分别实现递归和非递归strlen的三种方法
- 一只程序猿的养成日记 第一章 第十四节 递归和非递归分别实现strlen
- 递归和非递归分别实现strlen
- 递归和非递归分别实现strlen(C语言)
- 递归和非递归分别实现strlen
- 递归和非递归分别实现strlen
- C语言程序-递归和非递归分别实现strlen
- 二叉搜索树(递归和非递归分别实现)
- C语言程序-递归和非递归分别实现求n的阶乘
- 用递归和非递归分别实现求第n个斐波那契数。
- 递归和非递归分别实现求n的阶乘
- 递归和非递归分别实现求第n个斐波那契数
- 1.递归和非递归分别实现求第n个斐波那契数。
- 面试题:单链表逆置(分别用非递归和递归两种方法实现)
- 递归和非递归分别实现求第n个斐波那契数(C语言)
- 单链表倒置,给你一个头指针,用递归与非递归的方法分别实现;
- 查找二叉树的实现(查找,删除,插入)分别用递归和非递归
- 递归和非递归分别实现求n的阶乘
- 递归和非递归分别实现求第n个斐波那契数。
- 一只程序猿的养成日记 第一章 第十节 递归和非递归分别实现求第n个斐波那契数