gpt4 book ai didi

c - 似乎是 'infinite recursive' 的递归函数如何工作?

转载 作者:太空宇宙 更新时间:2023-11-04 05:53:48 26 4
gpt4 key购买 nike

这是从网络上获取的程序的相关部分。

int N, cont[37];

void solve(int n, int sum) {
if (n == N/2) {
++cont[sum];
} else {
for (int i=0; i < 10; ++i) solve(n+1, sum+i);
}
}

int main() {
N = 4;
solve(0, 0);
.....
return 0;
}

本程序取自网络。递归函数运行良好,但在我看来它是一个无限递归。谁能定义函数的过程?

最佳答案

对于 n 的每次调用 solve 都有两种可能性:

  1. n == N/2(在本例中为 n == 2)。没有递归调用,因此执行返回。

  2. 使用 n+1 进行了 10 次调用。

只要初始 n 低于 N/2,每个调用序列都会上升,直到 n 达到 N/2

关于c - 似乎是 'infinite recursive' 的递归函数如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32548121/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com