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

C语言运算顺序?

#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;

}

根据从上往下的顺序  输出的不是  一个空格和一个 *么     怎么第一行是四个空格   不懂   求大神指点


提问者:光之星空 2016-01-25 11:16

个回答

  • qq_自由人_9
    2016-03-08 16:12:15

    因为第一for循环是父循环, 第2个for循环是子循环, 父循环执行一次,子循环要全部执行完,相当于第2个for循环要执行4次,因为j<5,即 j<=4。

  • 那只梨
    2016-01-25 11:36:14

    它是先执行外面的for循环,i=1时,就是第一行,然后执行

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

            {

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

            }

    就是在第一行中,j=1<5,就输出一个空格,j继续增大,一直到j=4,也就是输出了4个空格