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

关于空格为什么是这样子的?for( j=i;j<5;j++ )

/* 观察每行的空格数量,补全循环条件 */
        for( j=i;j<5;j++  ) 


正在回答

5 回答

直接j<4每行还能少输出一个空格

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

懂了,讲的很详细,太谢谢了!

0 回复 有任何疑惑可以回复我~
#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.i=1时:

首先 for(i=1; i<5; i++)开始循环,最起始i=1,

然后执行到for(    j=i ;  j<5 ;  j++ ),

也就是说 for(    j=1 ;  j<5 ;  j++ ),j在循环中的所有取值为1,2,3,4,共计4次,故输出4个空格

然后执行到for( k=0 ; k<2*i-1 ;  k++) k的所有取值为0,共计1次,故输出一个*

2.i=2时

for(i=1; i<5; i++)开始循环,最起始i=2

然后执行到for(    j=i ;  j<5 ;  j++ ),

也就是说 for(    j=2;  j<5 ;  j++ ),j在循环中的所有取值为2,3,4,共计3次,故输出3个空格

3.以此类推

i=3 输出2个空格

i=4 输出1个空格

i=5 此时跳出了循环


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

举报

0/150
提交
取消

关于空格为什么是这样子的?for( j=i;j<5;j++ )

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