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

4-12的多重循环

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

有一个疑问 i<5,j<5都不包含5 ,k<2*i-1 代入时第一行为例输出应该小于1为什么却是为1?

提问者:无花果3925518 2016-09-10 13:30

个回答

  • JustWannaHugU
    2016-09-10 14:15:24
    已采纳

    你自己也说了,k<2*i-1应该是k<1

    k的起始值是0的啊,满足k<1所以可以执行一次循环体,于是输出一个*,接着k++为1不满足k<1于是跳出

  • 慕盖茨0146018
    2016-09-10 14:19:45

    上面说的非常对