qcyQCY 发表于 2019-10-6 16:32:10

调试



我想知道调试中“fib returned”表达的是什么意思

superbe 发表于 2019-10-6 16:32:11

fib returned意思是fib函数执行结束返回。代码中fib函数里递归调用了fib(g-1)和fib(g-2),每当fib参数是0,1,2时就有一次返回,并且会逐级返回main,每次返回都有一个fib returned。

qcyQCY 发表于 2019-10-6 16:38:14

这是代码

#include<stdio.h>
long fib(int g)
{
        switch (g)
        {
        case 0:return 0;
        case 1:
        case 2:return 1;
        }
        return(fib(g - 1) + fib(g - 2));
}
int main()
{
        long k;
        k = fib(5);
        printf("k=%d\n", k);
        return 0;
}

一个账号 发表于 2019-10-6 17:00:55

@zltzlt

zltzlt 发表于 2019-10-6 17:03:38

一个账号 发表于 2019-10-6 17:00
@zltzlt

@ 我干嘛?

一个账号 发表于 2019-10-6 17:06:43

zltzlt 发表于 2019-10-6 17:03
@ 我干嘛?

回答问题

zltzlt 发表于 2019-10-6 17:06:53

一个账号 发表于 2019-10-6 17:06
回答问题

不会

qcyQCY 发表于 2019-10-7 07:52:32

zltzlt 发表于 2019-10-6 17:06
不会

你们调试过程中,遇见这种情况吗

zltzlt 发表于 2019-10-7 07:53:23

qcyQCY 发表于 2019-10-7 07:52
你们调试过程中,遇见这种情况吗

我只学了 Python 语言,不会

qcyQCY 发表于 2019-10-7 10:38:25

zltzlt 发表于 2019-10-7 07:53
我只学了 Python 语言,不会

好吧

qcyQCY 发表于 2019-10-7 20:59:07

superbe 发表于 2019-10-6 16:32
fib returned意思是fib函数执行结束返回。代码中fib函数里递归调用了fib(g-1)和fib(g-2),每当fib参数是0,1 ...

感觉要懂了,但是还有点懵{:5_109:}

superbe 发表于 2019-10-7 22:06:22

画了个草图,这样是不是好理解些,我看递归的代码也是经常懵的

qcyQCY 发表于 2019-10-8 13:57:50

懂了,谢谢啦,还是图形比较好理解
页: [1]
查看完整版本: 调试