C++ 递归算法求字符串长度:完整代码示例
C++ 递归算法求字符串长度:完整代码示例
本文将介绍如何使用递归算法计算一个字符数组存放的字符串的长度。
递归模型
- 如果字符串为空,则字符个数为 0;
- 如果字符串不为空,字符个数为 1 加上剩余子串的字符个数。
递归程序
#include <iostream>
using namespace std;
int strLength(char str[]) {
if (str[0] == '\0') { // 空字符串,长度为 0
return 0;
} else { // 非空字符串,长度为 1+子串长度
return 1 + strLength(str+1);
}
}
int main() {
char str[100];
cout << '请输入一个字符串:';
cin >> str;
cout << '字符串长度为:' << strLength(str) << endl;
return 0;
}
代码解释:
strLength(char str[])函数实现递归算法,接收一个字符数组作为参数,并返回字符串的长度。if (str[0] == '\0')判断字符串是否为空,为空则返回 0。else部分则递归调用strLength(str+1),计算剩余子串的长度,并将结果加 1 返回。main()函数中,用户输入一个字符串,并调用strLength()函数计算其长度,最后输出结果。
示例:
假设用户输入字符串 'Hello',则程序会输出 '字符串长度为:5'。
总结:
本文介绍了使用递归算法求字符串长度的完整代码示例,并对代码进行了详细解释。希望这篇文章能够帮助您更好地理解递归算法在字符串操作中的应用。
原文地址: http://www.cveoy.top/t/topic/nm7D 著作权归作者所有。请勿转载和采集!