问答详情
源自:4-12 循环结构之多重循环

关于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;

}


提问者:慕姐4483164 2019-08-01 17:15

个回答

  • qq_慕容4003851
    2019-08-01 20:11:50
    已采纳

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

        第一次循环时: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搭上关系

  • qq_Adolph_CGHNR4
    2019-08-01 20:01:39

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