C语言的多重循环

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

Markjoy

2016-06-14 14:20

#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个空格,(j=i; j<5; ,j++)第二层不是应该循环4次吗?http://img.mukewang.com/575fa23a0001023609730602.jpg

写回答 关注

2回答

  • 慕仙6457615
    2016-06-14 15:59:33

    因为如果你选中运行出来的结果之后会发现最后一行前面也是有一个空格的,也就是说,第一行前面有4空格,第二行3个空格,第三行2个空格,第四行前1个空格

  • qq_坤大圣_03243333
    2016-06-14 15:38:57

    因为第一行的k只能取0,1,两次,而j原本要从1循环到5,但减去k的两次,所以j只能到3就结束了

C语言入门

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

926020 学习 · 20793 问题

查看课程

相似问题