C++ 递归算法求字符串长度:详解与代码实现

本文将详细介绍如何使用递归算法求解字符数组存储的字符串长度。

递归模型

  1. 如果字符串为空,则长度为 0。
  2. 如果字符串不为空,则长度为 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 函数计算长度并输出。

总结:

本文通过详细的解释和示例代码,展示了如何使用递归算法求解字符串长度。通过理解递归模型和代码实现,你可以更深入地掌握递归思想,并将其应用于其他字符串处理问题。

C++ 递归算法求字符串长度:详解与代码实现

原文地址: http://www.cveoy.top/t/topic/nm7K 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录