求解答C语言的一道问题有些疑问

图片说明
不大明白这个内嵌,,
求说明一下吧,不用全说明,以这个1为例说明一下吧,感谢

既然是以1为例子说明,那么肯定是外部for循环的第一次

对于最外层for循环

for(i = 1; i <= 5; i++)

此时i等于1,并进入循环内部

for(j = 1; j <= 5-i; j++)
    putchar(' ');

将i等于1带入上面的for循环,这时候不用我说都知道,循环4次,每次循环输出一个空格,共4个空格

然后进入第三个for循环

for(j = 1; j <= 2*i - 1; j++)
    printf("%d", i);

将i等于1代入,可以知道只循环了一次,并且输出了1

内嵌第一个for是用来打数字前的空格,控制格式;第二个for循环是用来打数值和数值个数