各位大侠帮忙解释一下,这个程序有的不太明白!

2024-12-19 12:32:41
推荐回答(1个)
回答1:

//把程序的格式标准化就好理解了:
#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");
}

//好吧,应该解释得够细了吧?