问答详情
源自: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;
      
}

for(    j=i ;  j<5 ;  j++  )  
j代表空格数,j=i i=1的时候,j=i=1,j<5->j++->j=2可是第一行明明是三个空格啊???不过第五行我可以理解,因为j退出了循环,
难道数空格要从最后一行开始数???


提问者:蝴蝶蓝兰 2019-12-21 23:07

个回答

  • 一只爱学习的小菜猿
    2019-12-22 22:37:40

    for循环先执行表达式一,然后执行表达式二,若表达式为真,继续执行,直到表达式为假的时候跳出循环,所以说,第一行j是5