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

for( j=i ; j<5 ; j++ ) 空格为什么小于5,根据什么来取值的?

http://img.mukewang.com/5eb39a7e000182dc00670067.jpg

#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;

}


提问者:伊歆晴 2020-05-07 13:20

个回答

  • 四月是你的谎言7010441
    2020-05-07 17:35:38

    因为“for(j=i;j<5'j++)”是子循环,它循环一遍父循环才循环一次,每完成一次循环i都比上一次大。

    因为j=i,所以j随着i的变化而变化,假设i=3,则在这循环里j的初始值为3,又因为j<5,所以只能输出两次.

    因为int是整型不是浮点型,所以这里j<5也可以写成j<=4,因为输出四行。(我是新人,仅供参考)