C++ 递归算法求字符串长度:详解与代码实现
C++ 递归算法求字符串长度:详解与代码实现
本文将详细介绍如何使用递归算法求解字符数组存储的字符串长度。
递归模型
- 如果字符串为空,则长度为 0。
- 如果字符串不为空,则长度为 1 + 去掉第一个字符后剩余字符串的长度。
递归程序
#include <iostream>
using namespace std;
int getLength(char str[]) {
if (str[0] == '\0') {
return 0;
}
return 1 + getLength(str+1);
}
int main() {
char str[100];
cout << '请输入一个字符串:';
cin >> str;
cout << '字符串长度为:' << getLength(str) << endl;
return 0;
}
代码解析:
getLength(char str[])函数使用递归的方式计算字符串长度。- 当
str[0] == '\0'时,表示字符串为空,返回 0。 - 否则,递归调用
getLength(str+1)计算去掉第一个字符后剩余字符串的长度,并加上 1 返回。 main函数负责接收用户输入的字符串,并调用getLength函数计算长度并输出。
总结:
本文通过详细的解释和示例代码,展示了如何使用递归算法求解字符串长度。通过理解递归模型和代码实现,你可以更深入地掌握递归思想,并将其应用于其他字符串处理问题。
原文地址: http://www.cveoy.top/t/topic/nm7K 著作权归作者所有。请勿转载和采集!