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

关于j的定义这样不行吗?

#include <stdio.h>

int main()

{

    int i, j, k;

    for(i=1; i<5; i++)

    {

        /* 观察每行的空格数量,补全循环条件 */

        for(j=3 ;  j>=0 ;  j--  )  

        {

            printf(" ");    //输出空格

        }

        /* 观察每行*号的数量,补全循环条件 */

        for( k=0 ; k<2*i-1  ;    k++   ) 

        {

            printf("*");   //每行输出的*号

        }

        printf("\n");     //每次循环换行

    }

    return 0;

}


正在回答

2 回答

只是小白的个人理解,如果有错误希望指出和谅解:

    第一次循环时:i=1带入子循环,j=3 j=2 j=1 j=0都可以取到,再进行孙子循环;

    第二次循环时:i=2带入子循环,j=3 j=2 j=1 j=0同样可以被取到,再进行孙子循环;

以此类推,每一次父循环j的四个值都可以被取到所以j不会有递变

因此对关于j的for,应该设法将第二个分号前的语句与i搭上关系

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

慕姐4483164 提问者

嗯嗯懂了!
2019-08-01 回复 有任何疑惑可以回复我~

不行奥  因为你这样写的话 你的后面几行打印的空格跟第一行打印的空格数就是一样的啦!!!!每次进入这个子循环都会打印4个空格(而且题目要求第一行是打印3个   奥)

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

慕姐4483164 提问者

明白啦,谢谢!
2019-08-01 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

关于j的定义这样不行吗?

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