为了账号安全,请及时绑定邮箱和手机立即绑定

C语言的多重循环

#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://img1.sycdn.imooc.com//575fa23a0001023609730602.jpg

正在回答

2 回答

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

0 回复 有任何疑惑可以回复我~

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

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926206    人
  • 解答问题       20797    个

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

进入课程

C语言的多重循环

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信