//把程序的格式标准化就好理解了:
#include
main()
{
int n, j, k;
scanf("%d", &n);
for(k=n+2; k>0; k--)
{
printf("*");
}
printf("\n");
for(j=n; j>0; j--) //此循环输出了n行中间是空格的,头尾各一个*的图像
{
printf("*"); //这里输出了n个*但怎么空格开呢?————每次只输出了每行开头的一个*
for(k=n; k>0; k--)
{
printf(" "); //两个*之间输出了n个空格
}
printf("*\n"); //很明显,每次只输出了每行结尾的一个*,并且换行
} //这里又输出n个*怎么回事?————看上面,就不存在这个问题了
for(k=n+2; k>0; k--)
{
printf("*");
}
printf("\n");
}
//好吧,应该解释得够细了吧?