BAPPS 2022-05-17 17:15 采纳率: 87%
浏览 104
已结题

为什么运行不起来?斐波那契数列

求菲波拉契数列的前N(小于40)项;在main函数中定义数组,用数组做函数参数。

img

  • 写回答

6条回答 默认 最新

  • Duang~Lucky.Mr.Li 2022-05-17 18:44
    关注

    因为你定义的Fibonacci()函数是返回空类型,你想表达的意思应该是通过这个函数来实现对num[]数组的计算。
    但是函数就相当于是一个盒子,在一个盒子里面的定义的变量就只有这个盒子可见,所以说main()函数里面的num[]数组和你在Fibonacci()函数中定义的num[]数组其实不是同一个数组,他们只不过是有相同的名字罢了。
    这里如果你想利用自己定义的函数解题的话可能会涉及到指针相关的知识,不知道同学有没有学习到指针。提前了解一下没有坏处,指针可是C语言的灵魂,有一句话叫做“没学指针,就是没学C语言”。建议自己翻翻书,或者搜搜相关的博客,当然我自己写的也有一篇关于指针的博客,欢迎观看哦 嘿嘿嘿
    下面是我在你的代码上进行的修改,不出意外的话应该就是你想表达的意思,自己慢慢琢磨,指针还是有一定难度的
    值得赞同的是思路没问题,剩下的就交给知识储备了,慢慢来
    快期末考试了 加油加油 一起进步

    
    #include<stdio.h>
    void Fibonacci(int *num,int n);
    int main()
    {
        int n,num[40],i;
        num[0]=1;
        num[1]=1;
        scanf("%d",&n);
        Fibonacci(num,n);
        for(i=0;i<n;i++)
        {
            if(i%4==0)
                printf("\n");
            printf("%4d",num[i]);
        }
        printf("\n");
        return 0;
    }
    void Fibonacci(int *num,int n)
    {
        int i;
        for(i=2;i<n;i++)
        {
            num[i]=num[i-2]+num[i-1];
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 5月25日
  • 已采纳回答 5月17日
  • 创建了问题 5月17日

悬赏问题

  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥15 键盘指令混乱情况下的启动盘系统重装