想不明白“*”的输出

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

超级炖蛋

2020-06-07 11:52

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

第二个子循环for(k=0;k<2*i-1;k++),因为i=2,k<3,那他不是循环两次嘛,为什么第一行只有一个*


写回答 关注

1回答

  • 慕虎5521232
    2020-06-07 22:40:42

    这里i=1;


    for语句表示为:for(A; B; C))

    执行顺序为:

    1. 执行A

    2. 判断B,若为真进入循环,若为假跳过(跳出)循环

    3. 进行完一次循环后,执行C

    4. 重复2、3步,直到判断B为假后,跳出循环


C语言入门

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

926020 学习 · 20793 问题

查看课程

相似问题