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

想不明白“*”的输出

#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 回答

这里i=1;


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

执行顺序为:

1. 执行A

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

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

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


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

举报

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

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

进入课程

想不明白“*”的输出

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