关于数组的问题
#include<stdio.h>int main()
{
int i,f;
f=f=1;
for(i=2;i<10;i++)
f=f+f;
for(i=0;i<10;i++)
{
if(i%4==0)
printf("\n");
printf("%d",f);
}
}
为什么输出结果为 1123
581321
3455 因为你的printf("%d",f);,并不在if语句内,你应该用{}把这个也扩进去 斐波那契数列?
#include<stdio.h>
int main()
{
int i,f;
f=f=1;
for(i=2;i<10;i++)
f=f+f;
for(i=0;i<10;i++)
{
if(i%4==0)
printf("\n");
printf("%d ",f); // 可以空一格,输出美观点
}
} 大马强 发表于 2022-3-2 15:37
斐波那契数列?
不知道、 for(i=2;i<10;i++)
f=f+f;
这段函数相当于给f这个数组赋值,赋值结果如下:
f = f + f = 1+1 = 2;
f = f + f = 2+1 = 3;
f = f + f = 3+2 = 5;
f = f + f = 5+3 = 8;
f = f + f = 8+5 = 13;
f = f + f = 13+8 = 21;
f = f + f = 21+13 = 34;
f = f + f = 34+21 = 55;
再看第二个for:
for(i=0;i<10;i++)
{
if(i%4==0)
printf("\n");
printf("%d",f);
}
这段代码,意思就是依次打印f中的数据,每4个换行:
所以结合来看,输出的结果就是:
1、1、2、3(换行)
5、8、13、21(换行)
34、55
这就是为啥输出结果是你那样的,当然你输出的数据之间没有分隔符、,这个是我加的,方便观看。 番杰 发表于 2022-3-2 17:42
这段函数相当于给f这个数组赋值,赋值结果如下:
f = f + f = 1+1 = 2;
f = f + f
哥我加你v吗 我只有30天 发表于 2022-3-2 20:06
哥我加你v吗
如果我的回答有帮助到你,记得给一个最佳答案呦!{:10_297:} 。。。
页:
[1]