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

我这个代码让编译器输不出来

#include <stdio.h>

int main()

{

    int i, j, k,h;

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

    {

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

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

        {

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

        }

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

        for(k=2i-1;k<1;k--     ) //k依次减少直到=0 输出对应星号

        {

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

        }

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

    }

    return 0;

}


提问者:emmmmmmok 2019-08-09 15:40

个回答

  • 小神0x00
    2019-08-09 15:51:26
    已采纳

    https://img1.mukewang.com/5d4d252900019d6d04820474.jpg

    K的值每行是*的个数,分别为1,3,5,7。

    该循环不符合要求。

  • 慕粉5438561
    2019-08-09 17:00:43

    for(k=2 * i-1;k  >=  1;k--     ) //k依次减少直到=0

  • 小神0x00
    2019-08-09 15:53:15

    输不出来是因为第二个内循环根本不会进行,当i=1,k=1,不符合k<1

  • 小小疾飞
    2019-08-09 15:45:17

    输出了空格只是你看不见。

    for(k=2i-1;k<1;k--     ) //k依次减少直到=0 输出对应星号

            {

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

            }

    星号怎么输出