#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;
}
这个的运行顺序是什么呢?先是运行j=i,那是i=1,j=1,然后判断j<5,输出j=1,运行是j=2,再运行j=i是等于几啊?
父循环一次,子循环需要全部执行完,直到跳出循环。
i是行,j是空格,k是*的循环。父循环一次是一行,子循环空格和*要循环完整。一次父循环完成,下次子循环单独再循环。
遵循一个原则,先运行大括号的再运行小括号的,从外到里。