|  | 
 
 发表于 2022-3-2 17:42:12
|
显示全部楼层 
| 复制代码 for(i=2;i<10;i++)
        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:
 
 复制代码        for(i=0;i<10;i++)
        {
                if(i%4==0)
                    printf("\n");
                printf("%d",f[i]);
         }
这段代码,意思就是依次打印f[10]中的数据,每4个换行:
 所以结合来看,输出的结果就是:
 1、1、2、3(换行)
 5、8、13、21(换行)
 34、55
 
 这就是为啥输出结果是你那样的,当然你输出的数据之间没有分隔符、,这个是我加的,方便观看。
 | 
 |