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"); //每次循环换行
}
*****代码一共两层循环,第一层控制行数,第二层控制输出。
第一层循环是控制行数,如当i=1,就是进入第一行进行输出。
*****进入第一层循环后,开始第二层循环。
首先是输出空格,每行空格数递减,第一行需要4个空格,第二行需要3个空格,以此类推,所以令j=i,随着i的递增,空格循环次数减小。
当空格输出完毕,则开始输出*,当i=1,k的值为1,由于k初值为0,所以会循环1次,也就是输出1个*,到这里*循环结束,跳出for循环,再执行"\n"换行。
到这里i=1的循环结束,然后开始i=2的循环。
*****不知道看不看得懂啊。。。。。。