光之星空
2016-01-25 11:16
#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循环是父循环, 第2个for循环是子循环, 父循环执行一次,子循环要全部执行完,相当于第2个for循环要执行4次,因为j<5,即 j<=4。
它是先执行外面的for循环,i=1时,就是第一行,然后执行
for(j=i;j<5;j++)
{
printf(" "); //输出空格
}
就是在第一行中,j=1<5,就输出一个空格,j继续增大,一直到j=4,也就是输出了4个空格
C语言入门
926206 学习 · 20797 问题
相似问题