问答详情
源自:4-12 循环结构之多重循环

求大佬给我解答一下,本人菜鸟

为什么i要等于j呢,空格这么看出来的呢?

提问者:我爱你们1 2017-12-03 11:23

个回答

  • 抱歉打扰了
    2017-12-03 16:27:40

    是j=i,将i的值赋给j,其中i表示行数,从首行开始空格数分别为4,3,2,1;;;;;“*”号数分别为1,2,3,4

    由此可知

    #include <stdio.h>
    int main()
    {
        int i, j, k;
        for(i=1; i<5; i++)
        {
            /* 观察每行的空格数量,补全循环条件 */
            for(j=i ; j<5; j++ )  
            {
                printf(" ");    //输出空格
            }
            /* 观察每行*号的数量,补全循环条件 */
            for( k=0; k<2*i-1 ; k++  ) 
            {
                printf("*");   //每行输出的*号
            }
            printf("\n");     //每次循环换行
        }
        return 0;
    }

    在原题当中呢,首行空格其实是3也有可能,但是

    #include <stdio.h>
    int main()
    {
        int i, j, k;
        for(i=1; i<5; i++)
        {
            /* 观察每行的空格数量,补全循环条件 */
            for(    ? ;  ? ;  ?  )  
            {
                printf(" ");    //输出空格
            }
            /* 观察每行*号的数量,补全循环条件 */
            for( ? ;  ? ;  ?     ) 
            {
                printf("*");   //每行输出的*号
            }
            printf("\n");     //每次循环换行
        }
        return 0;
    }

    这是一开始的代码,其实在实验的时候可以直接将j赋值,本地编译器会通过,也没有问题,

    其实让j=i,每一次循环j都会进行初始化