鱼C论坛

 找回密码
 立即注册
查看: 1121|回复: 7

关于数组的问题

[复制链接]
发表于 2022-3-2 14:20:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>
int main()
{
        int i,f[10];
        f[0]=f[1]=1;
        for(i=2;i<10;i++)
        f[i]=f[i-2]+f[i-1];
        for(i=0;i<10;i++)
        {
                if(i%4==0)
                printf("\n");
                printf("%d",f[i]);
         }
}
为什么输出结果为 1123
                           581321
                           3455     
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-3-2 14:25:54 From FishC Mobile | 显示全部楼层
因为你的printf("%d",f[i]);,并不在if语句内,你应该用{}把这个也扩进去
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-2 15:37:44 | 显示全部楼层
斐波那契数列?
  1. #include<stdio.h>
  2. int main()
  3. {
  4.         int i,f[10];
  5.         f[0]=f[1]=1;
  6.         for(i=2;i<10;i++)
  7.                 f[i]=f[i-2]+f[i-1];
  8.         for(i=0;i<10;i++)
  9.         {
  10.             if(i%4==0)
  11.                 printf("\n");
  12.             printf("%d ",f[i]); // 可以空一格,输出美观点
  13.          }
  14. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-2 15:43:15 | 显示全部楼层

不知道、
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-2 17:42:12 | 显示全部楼层
  1. for(i=2;i<10;i++)
  2.         f[i]=f[i-2]+f[i-1];
复制代码

这段函数相当于给f[10]这个数组赋值,赋值结果如下:
f[2] = f[1] + f[0] = 1+1 = 2;
f[3] = f[2] + f[1] = 2+1 = 3;
f[4] = f[3] + f[2] = 3+2 = 5;
f[5] = f[4] + f[3] = 5+3 = 8;
f[6] = f[5] + f[4] = 8+5 = 13;
f[7] = f[6] + f[5] = 13+8 = 21;
f[8] = f[7] + f[6] = 21+13 = 34;
f[9] = f[8] + f[7] = 34+21 = 55;

再看第二个for:
  1.         for(i=0;i<10;i++)
  2.         {
  3.                 if(i%4==0)
  4.                     printf("\n");
  5.                 printf("%d",f[i]);
  6.          }
复制代码

这段代码,意思就是依次打印f[10]中的数据,每4个换行:
所以结合来看,输出的结果就是:
1、1、2、3(换行)
5、8、13、21(换行)
34、55

这就是为啥输出结果是你那样的,当然你输出的数据之间没有分隔符、,这个是我加的,方便观看。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-2 20:06:57 | 显示全部楼层
番杰 发表于 2022-3-2 17:42
这段函数相当于给f[10]这个数组赋值,赋值结果如下:
f[2] = f[1] + f[0] = 1+1 = 2;
f[3] = f[2] + f[1 ...

哥我加你v吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-3 10:31:23 | 显示全部楼层

如果我的回答有帮助到你,记得给一个最佳答案呦!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-3 14:30:11 | 显示全部楼层
。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-22 17:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表