递归和非递归(创建变量)实现strlen
2017-08-09 09:57
260 查看
第一种,使用递归(不创建变量)
第二种,创建变量
此篇不是很全面,可以查看下一篇:用三种方法模拟实现strlen函数。
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> int my_strlen(const char *str) { if (*str == '\0') return 0; else return 1 +my_strlen(str + 1); } int main() { char str[20] = { 0 }; printf("str:"); scanf("%s", &str); int len = my_strlen(str); printf("%d\n", len); system("pause"); return 0; }
第二种,创建变量
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include <stdlib.h> #include <assert.h> int my_strlen(const char*str) { int count = 0; if (*str == NULL) { return count = 0; } else { while (*str++) { count++; } /*while (*str) { count++; str++; }也可以使用这种方式实现while循环*/ return count; } } int main() { char str[20] = { 0 }; printf("str:"); scanf("%s", &str); int count = my_strlen(str); printf("%d\n", count); system("pause"); return 0; }
此篇不是很全面,可以查看下一篇:用三种方法模拟实现strlen函数。
相关文章推荐
- 递归和非递归分别实现strlen
- C语言分别实现递归和非递归strlen的三种方法
- 递归和非递归分别实现strlen
- 一只程序猿的养成日记 第一章 第十四节 递归和非递归分别实现strlen
- c++实现二叉树的非递归创建以及非递归先序、中序、后序遍历
- strlen的递归,常规(创建计数器),以及指针实现
- 不使用任何辅助变量实现strlen(递归实现strlen)
- 二叉查找树带父节点指针的创建,销毁,查找,删除,插入,找前驱后继,找最小值最大值(递归和非递归的实现)
- 递归和非递归分别实现strlen(C语言)
- C语言程序-递归和非递归分别实现strlen
- 【python中二叉树的实现】python中二叉树的创建、三种方式递归遍历和非递归遍历
- 递归和非递归分别实现strlen
- 二叉树的建树、遍历(先序、中序、后序、层次)(递归和非递归)--Java实现
- 【数据结构】搜索二叉树的(递归与非递归)实现,包括:增Insert,删Remove,查Find
- 创建一个CPoint类,代表平面直角坐标系中的点,创建构造函数和运算符重载函数, 运算符重载为类重载(非友元重载),可以实现计算两个点之间的距离。可以根据需要 加入自己的成员变量或成员函数
- 如何用栈实现递归与非递归的转换(一)三种遍历树的算法
- 如何用栈实现递归与非递归的转换
- 二叉树的深度(递归和非递归)---java实现
- 实现二分查找算法的递归及非递归。
- 二叉树的遍历实现(递归和非递归)