gpt4 book ai didi

c - C 中递归的递归

转载 作者:行者123 更新时间:2023-11-30 21:09:45 24 4
gpt4 key购买 nike

我很难理解程序多次调用递归的代码部分。

输出为1233333。如果我将递归行更改为 fun (++count;)。输出是123,我理解其中的逻辑,但是当你开始多次调用递归时,我就迷失了。

#include <stdio.h> 
int fun(int count) {
printf("%d\n", count);
if(count < 3) {
fun(fun(fun(++count)));
}
return count;
}

int main()
{
fun(1);
return 0;
}

最佳答案

第一个函数调用 1 作为参数并打印 1

然后进入if语句

计数增加

 fun(fun(fun(2)))

2 打印 and 并输入 if and

计数增加到 3

fun(fun(fun(3))))

打印了3,但是这次不输入if而是返回3

return(3)

并且 3 返回到之前的嵌套调用

 fun(fun(3))

这种情况发生了 4 次因此输出

1233333

关于c - C 中递归的递归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33685651/

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