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

为什么把j=i改成j=1结果不一样

#include <stdio.h>

int main()

{

    int i, j, k;

    for(i=1; i<5; i++)

    {

        /* 观察每行的空格数量,补全循环条件 */

        for( j=1; j<5; j++    )  

        {

            printf(" ");    //输出空格

        }

        /* 观察每行*号的数量,补全循环条件 */

        for(k=0; k<2*i-1;k++) 

        {

            printf("*");   //每行输出的*号

        }

        printf("\n");     //每次循环换行

    }

    return 0;

}


提问者:Ea小son 2015-07-24 11:41

个回答

  • 一颗螺丝钉
    2015-07-27 13:07:29

    因为你如果是j=1的话,

    那么for(j=1;j<5;j++)的意思就是,每行的输出的空格数都是相同的,因为都是从1开始判断,每行循环4次了,输出四个空格,那么输出的图形 会是一个指直角三角形

    但是如果是for(j=i;j<5;j++)那么就是每行的循环次数不一样,i=1时,循环四次,i=2时,循环数次,则空格数会不一样

  • qq_嗟梦心海_0
    2015-07-24 12:18:16

    两个循环,如果j=i跟一个循环没什么区别

  • 猫的第九尾
    2015-07-24 12:04:42

    i是会变的,1,2,3,4; j=1的话你每次j就一直从1开始循环