c语言数字菱形下半部分打印

下半部分代码没起作用?
#include<stdio.h>
int main(void){
int i,j,k,a,b;
for(i=1;i<=7;i++){
for(j=1;j<=29-i;j++)
printf(" ");
for(k=1;k<=2i-1;k++)
printf("%d",i);
printf("\n");
}
for(a=6;a<=1;a++){
for(j=1;j<=23+b;j++)
printf(" ");
for(b=6;b<=2
b-1;b--)
printf("%d",b);
printf("\n");
}
}


#include<stdio.h>
unsigned int b = 0;
int main(void){
    int i,j,k,a;
    for(i=1;i<=7;i++){
        for(j=1;j<=29-i;j++)
            printf(" ");
        for(k=1;k<=2*i-1;k++)
            printf("%d",i);
        printf("\n");
    }
    //printf("%d", k);
    for(a=1;a<=6;a++){
        for(j=1;j<=23+a - 1;j++)
            printf(" ");
        for(b=1;b<=k-2*a - 1;b++)
            printf("%d",7 - a);
        printf("\n");
    }
}

img

因为for(a=6;a<=1;a++)错了,是a--不然条件不成立了,就不循环了呀。