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

来源:4-12 循环结构之多重循环

伊歆晴

2020-05-07 13:20

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;

}


写回答 关注

1回答

  • 四月是你的谎言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,因为输出四行。(我是新人,仅供参考)

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926207 学习 · 20797 问题

查看课程

相似问题