编程就图个乐还是搬砖去 2022-06-02 21:09 采纳率: 100%
浏览 27
已结题

如何理解这段代码中的递归的思想

img


代码:
#include
using namespace std;
char ch[27] = "aa…27个a,喵的打不出来";
void printword(int n, int m)
{
int i,j;
if (m == 0)
{
for (i = 0; i < n; i++)
cout << ch[i];
cout << endl;
}
else
{
for (ch[n-m]='a',j = 0; j < n; j++, ch[n - m]++)
printword(n, m - 1);
}
}
int main()
{
int n, m;
cin >> n;
m = n;
printword(n, m);
return 0;
}
这个代码看不懂,求一下代码的具体思路,我只知道是用了递归的思想,但具体怎么用看不懂

  • 写回答

1条回答 默认 最新

  • 吕布辕门 后端领域新星创作者 2022-06-02 21:45
    关注

    就是递归 打印,每次m-1 ,printword(n, m - 1);直到m == 0时候结束递归

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

    报告相同问题?

    问题事件

    • 系统已结题 6月16日
    • 已采纳回答 6月8日
    • 创建了问题 6月2日

    悬赏问题

    • ¥15 Qt 不小心删除了自带的类,该怎么办
    • ¥15 我需要在PC端 开两个抖店工作台客户端.(语言-java)
    • ¥15 有没有哪位厉害的人可以用C#可视化呀
    • ¥15 可以帮我看看代码哪里错了吗
    • ¥15 设计一个成绩管理系统
    • ¥15 PCL注册的选点等函数如何取消注册
    • ¥15 问一下各位,为什么我用蓝牙直接发送模拟输入的数据,接收端显示乱码呢,米思齐软件上usb串口显示正常的字符串呢?
    • ¥15 Python爬虫程序
    • ¥15 crypto 这种的应该怎么找flag?
    • ¥15 代码已写好,求帮我指出错误,有偿!