1447391641 发表于 2020-11-30 11:55:14

运行

#include <stdio.h>
int main()
{
int a={1,0,1,0,1,0,1,0},i;
for(i=2;i<8;i++)
a+= a + a;
for(i=0;i<8;i++)
printf("%5d",a);
}


怎么进行运算的,过程。

昨非 发表于 2020-11-30 12:21:23

本帖最后由 昨非 于 2020-11-30 12:22 编辑

见注释,满意的话请设为最佳答案
#include <stdio.h>
int main()
{
        int a = { 1,0,1,0,1,0,1,0 }, i;

        for (i = 2; i < 8; i++)//for循环里,i从2开始,数组a里的第i个元素等于本身和它前两个元素的和
                a += a + a;

        /*
        原先:   a=1                              1
               a=0                              0
        1、 i=2,a=a+a+a=1+1+0=2         2

        2、 i=3,a=a+a+a=0+0+2=2         2

        3、 i=4,a=a+a+a=1+2+2=5         5

        4、 i=5,a=a+a+a=0+2+5=7         7

        5、 i=6,a=a+a+a=1+5+7=13         13

        6、 i=7,a=a+a+a=0+7+13=20      20


        */



        for (i = 0; i < 8; i++)
                printf("%5d", a);
}


所以输出结果为:
    1    0    2    2    5    7   13   20
页: [1]
查看完整版本: 运行