#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;
}
看不懂
333
我之前也看不懂,后来自己算一遍就整明白了。你找一张草纸,自己手动模拟计算过程。
我的草纸内容和思路:(我的个人理解嗷,不是多正规,但至少说通了)
i代表的第几行,每一个J是一个空格,每一个K是一个*
这个结构是i是父循环,J和K平行,都是子循环
首先是大条件i=1,i<5,i++
然后开始执行子循环,子循环一直进行,直到受限制再进行下一轮父循环
第一轮子循环:j=i=1,j<5,j++ 就一直执行这个嘛 j就等于1,有一个J了,就输出一个空格,然后循环,J=2,在输出一个空格,然后J=3,J=4,一共输出了四个空格,1234我理解为每一个数字都标志着有一个J了,每一个J就是一个空格,然后就是四个空格。
J到5了不行了,所以J的子循环结束,开始K的那个子循环。
K=0,k<1,k++,然后k=1了,然后也只能到1了。就输出一个*
第二个子循环结束,第一行结果为”口口口口*“
开始换行执行下一个父循环
于是第二行的是口口口***
第三行 口口*****
第四行 口*******
解释完了,不知道你整明白没。。。。