文档章节

一个字符串,不用循环,不用库函数,求长度

余青木
 余青木
发布于 2015/06/16 21:24
字数 143
阅读 705
收藏 8
/*
法一:传入长度做参数
*/
int strlen_x(const char * pstr,int &len)
{
	
	char * pTemp = (char*)pstr;
	if (*pstr == '\0')
		return len;
	len++;
	pTemp = pTemp++;
	return strlen_x(pTemp, len);

}

/*
法二
不传入长度参数
http://blog.csdn.net/stpeace/article/details/8096629
*/
int GetstrLen(char * pstr)
{

	return *pstr ? GetstrLen(pstr + 1) + 1 : 0;
}



int _tmain(int argc, _TCHAR* argv[])
{

	char *pstr = "sadfjqaj";
	int len = strlen(pstr);
	printf("strlen = %d\n",len);
	len = 0;
	len = strlen_x(pstr, len);
	printf("strlen_x = %d\n", len);

	len = GetstrLen(pstr);
	printf("GetstrLen = %d\n", len);
	return 0;
}

两种写法思路一致,实现上我的第一种稍微麻烦了点

© 著作权归作者所有

共有 人打赏支持
余青木
粉丝 2
博文 20
码字总数 6510
作品 0
拉萨
私信 提问
加载中

评论(2)

余青木
余青木

引用来自“ishakin”的评论

说好的不用递归呢。。。。3
不好意思,打错了,是不用循环和库函数
i
ishakin
说好的不用递归呢。。。。3
Python3 初学实践案例(1)按条件生成复杂密码

Python3 初学实践案例(1)按条件生成复杂密码 最近事情太多, 学的东西忘记得差不多了。想想不如学习一下 吧~,反正我是一前端,学任何一门后端语言都是有助于自己的学习的。 最关键的事情是...

FungLeo
2017/12/08
0
0
如何在 JS 代码中消灭 for 循环

这篇文章基于我在公司内部分享会整理而成。欢迎探讨补充。 一,用好 filter,map,和其它 ES6 新增的高阶遍历函数 问题一: 将数组中的空值去除 答案: 问题二: 将数组中的 VIP 用户余额加 ...

leihuang
07/27
0
0
[算法总结] 13 道题搞定 BAT 面试——字符串

本文首发于我的个人博客:尾尾部落 1. KMP 算法 谈到字符串问题,不得不提的就是 KMP 算法,它是用来解决字符串查找的问题,可以在一个字符串(S)中查找一个子串(W)出现的位置。KMP 算法把...

繁著
09/05
0
0
最长回文子串与Manacher算法

题目描述 给定一个字符串,求它的最长回文子串的长度。 最简单粗暴的方法就是,枚举全部的字符串,然后每个都判断一下是不是回文,然后得到长度最长的字符串。显然,这个方法是可行的,可是也...

yejq8
2015/05/16
0
0
leetcode-49-字母异位词分组(神奇的哈希)

题目描述: 给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。 示例: 输入: ,输出:[["ate","eat","tea"],["nat","tan"],["bat"]] 说明: 所有输入均...

king_3
08/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

自定义 Maven 的 repositories

有时,应用中需要一些比较新的依赖,而这些依赖并没有正式发布,还是处于milestone或者是snapshot阶段,并不能从中央仓库或者镜像站上下载到。此时,就需要 自定义Maven的<repositories>。 ...

waylau
46分钟前
1
0
徒手写一个es6代码库

mkdir democd demonpm initnpm install -g babelnpm install -g babel-clinpm install --save-dev babel-preset-es2015-node5 在项目目录创建两个文件夹 functional-playground ......

lilugirl
46分钟前
2
0
linux定位应用问题的一些常用命令,特别针对内存和线程分析的dump命令

1.jps找出进程号,找到对应的进程号后面才好继续操作 2.linux查看进程详细信息 ps -ef | grep 进程ID 3. dump内存信息 Jmap -dump:format=b,file=YYMMddhhmm.dump pid 4.top查看cpu占用信息 ...

noob_chr
46分钟前
1
0
Android TV开发-按键焦点

写在前面 按键焦点过程了解 2.1 dispatchKeyEvent 过程了解 2.2 焦点查找请求过程了解 1.2.1 第一次获取焦点 1.2.3 按键焦点 焦点控制 焦点记忆 应用场景 参考资料 [TOC] 1. 写在前面 工...

冰雪情缘l
46分钟前
1
0
java框架学习日志-3

这章主要是补充一些ioc创建对象的方式,ioc容器在写好<bean></bean>的时候就已经创建对象了。在之前的例子中,一直都是无参的构造方法。下面给出有参的构造方法的对象的创建,没有什么难点重...

白话
49分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部