这个程序 为什么我输出只能出现上半部分 下半部分不出现 注释掉上半部分才会出现 请问哪里出错了

问题描述:

#include
void main()
{
int i,j,a,b,c,d,e,f,z=3,w=0;
for(i=6;i<=9;i++)
{

    for(j=1;j<=i-z;j++)
        printf(" ");
    for(a=1;a<=4;a++)
    {
        for(b=1;b<=a+w;b++)
        {
            printf("*");

        }
        break;
    }
    printf("\n");
    z=z+2;
    w=w+2;
}        //上半部分
for(c=1;c<=3;c++)
{
    for(d=1;d<=c;d++)
        printf(" ");
    for(e=5;e<=7;e++)
    {
        for(f=1;f<=e-w;f++)
            printf("*");
        break;
    }
    w=w+2;

    printf("\n");
}

}

因为你上半部分把w的值改大了。下半部分e-w会影响。