一个字符串,不用循环,不用库函数,求长度
一个字符串,不用循环,不用库函数,求长度
余青木 发表于2年前
一个字符串,不用循环,不用库函数,求长度
  • 发表于 2年前
  • 阅读 609
  • 收藏 8
  • 点赞 0
  • 评论 2

腾讯云 十分钟定制你的第一个小程序>>>   

摘要: 某公司的面试题
/*
法一:传入长度做参数
*/
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;
}

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

共有 人打赏支持
粉丝 3
博文 20
码字总数 6510
评论 (2)
ishakin
说好的不用递归呢。。。。3
余青木

引用来自“ishakin”的评论

说好的不用递归呢。。。。3
不好意思,打错了,是不用循环和库函数
×
余青木
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: