递归和非递归(创建变量)实现strlen
来源:互联网 发布:公路法律法规题库软件 编辑:程序博客网 时间:2024/06/04 19:16
第一种,使用递归(不创建变量)
#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函数。
阅读全文
0 0
- 递归和非递归(创建变量)实现strlen
- 递归和非递归分别实现strlen
- 递归和非递归分别实现strlen
- 递归和非递归分别实现strlen(C语言)
- C语言程序-递归和非递归分别实现strlen
- 二叉树创建、遍历的递归和非递归实现
- strlen的递归,常规(创建计数器),以及指针实现
- 不使用任何辅助变量实现strlen(递归实现strlen)
- 二分查找(非递归实现和递归实现)
- 二项分布的递归和非递归实现(Java实现)
- strlen库函数 常规实现 和 递归实现。
- 二分查找算法递归和非递归实现(C++)
- 归并排序(递归和非递归方法实现)
- c++二分查找实现(非递归和递归方式)
- c++快速查找实现(递归和非递归)
- 二分搜索算法(递归和非递归实现)
- 二叉树的遍历(非递归和递归实现)
- 二叉树遍历(递归和非递归实现)
- 解决CentOS6.5下MySQL5.6无法远程连接的问题
- ubuntu操作
- anaconda安装python3.5+tensorflow
- PHP 文件创建-写入
- Spark Streaming高级
- 递归和非递归(创建变量)实现strlen
- 解救小易
- L1-027. 出租
- IE中页面无法刷新,方法不执行的解决办法
- linux环境下SOCKET网络编程
- mysql 设置自动补全
- 2618: [Cqoi2006]凸多边形
- React Native学习之自定义Navigator
- SVN使用总结