| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1926 人关注过本帖
标题:求解答 代码中语句的注释
只看楼主 加入收藏
风流泰
Rank: 1
等 级:新手上路
帖 子:78
专家分:0
注 册:2018-9-29
结帖率:87.88%
收藏
已结贴  问题点数:14 回复次数:10 
求解答 代码中语句的注释
/*用递归求斐波那契数列,
所谓斐波那契数列是指数列中每一个数值都是其前两个数值之和,
既:0 1 2 3 5 8 13 21 34....*/
//功能:求出斐波那契数列中第n个数的值(n从0开始)
#include<stdio.h>
long Fibonacci(int n); //函数声明
int main(){
    int n;
    printf("请输入n的值:");
    scanf("%d",&n);
    printf("第%d项的值为:%ld\n",n,Fibonacci(n));
    return 0;
}
long Fibonacci(int n){
    if(n<0){
        return -1;
    } else if(n==0){
        return 0;
    } else if(n==1){
        return 1;
    } else{
        return Fibonacci(n-1)+Fibonacci(n-2);
    }
}
 //这个代码没有问题  就是书上没有注释  所以我不知道 代码中 return Fibonacci(n-1)+Fibonacci(n-2); 是怎么算出第n项的值的
搜索更多相关主题的帖子: 代码 注释 Fibonacci int return 
2018-12-01 21:33
C基础
Rank: 6Rank: 6
等 级:侠之大者
威 望:6
帖 子:133
专家分:421
注 册:2018-10-15
收藏
得分:4 
递归
2018-12-01 22:06
风流泰
Rank: 1
等 级:新手上路
帖 子:78
专家分:0
注 册:2018-9-29
收藏
得分:0 
回复 楼主 风流泰
我想知道的是比如我输入了8  然后编译结果是21  这个结果的每一步是怎么算的?  然后代码 return Fibonacci(n-1)+Fibonacci(n-2); 是个什么意思  (8-1)+(8-2)???  ;不对呀  求指导
2018-12-01 22:20
风流泰
Rank: 1
等 级:新手上路
帖 子:78
专家分:0
注 册:2018-9-29
收藏
得分:0 
回复 2楼 C基础
我想知道的是比如我输入了8  然后编译结果是21  这个结果的每一步是怎么算的?  然后代码 return Fibonacci(n-1)+Fibonacci(n-2); 是个什么意思  (8-1)+(8-2)???  ;不对呀  求指导
2018-12-01 22:23
qcjqcj
Rank: 1
等 级:新手上路
帖 子:31
专家分:8
注 册:2018-11-26
收藏
得分:4 
第七项加第六项
2018-12-01 22:31
C基础
Rank: 6Rank: 6
等 级:侠之大者
威 望:6
帖 子:133
专家分:421
注 册:2018-10-15
收藏
得分:0 
不是的,你还是没明白递归是什么意思,我觉得给你说一个你就明白了就按照你说的Fibonacci(n-1)+Fibonacci(n-2),先看前面的Fibonacci(n-1),n为8Fibonacci(n-1)也就是Fibonacci(7)这个时候再进入long Fibonacci(int n)函数判断,根据long Fibonacci(int n)函数只有Fibonacci()括号中的值小于零或者等于零或者等于1的时候才能返回真正的值,要不然就会一直这样计算下去,就好像循环一样
2018-12-01 22:33
幻紫灵心
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:山咔咔里面
等 级:贵宾
威 望:53
帖 子:396
专家分:2640
注 册:2018-3-30
收藏
得分:4 
https://blog.

saber,别哭.
2018-12-02 14:11
YUkoni
Rank: 2
等 级:论坛游民
帖 子:17
专家分:22
注 册:2018-11-25
收藏
得分:4 
如果你输入8
return Fibonacci(n-1)+Fibonacci(n-2)
这句话就是第七项加上第六项,遇到Fibonacci()的时候系统会回去找你定义的这个Fibonacci函数,就是开头这个
long Fibonacci(int n); //函数声明
int main(){
    int n;
    printf("请输入n的值:");
    scanf("%d",&n);
    printf("第%d项的值为:%ld\n",n,Fibonacci(n));
    return 0;
}
然后这样重复最后得出结果。
2018-12-02 16:30
风流泰
Rank: 1
等 级:新手上路
帖 子:78
专家分:0
注 册:2018-9-29
收藏
得分:0 
回复 6楼 C基础
这么一说我就我明白了  谢谢您的指导   
2018-12-02 21:11
风流泰
Rank: 1
等 级:新手上路
帖 子:78
专家分:0
注 册:2018-9-29
收藏
得分:0 
回复 8楼 YUkoni
  好的  谢谢指导
2018-12-02 21:12
快速回复:求解答 代码中语句的注释
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.064870 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved