打印星星三角形的问题

void option (int lineNumber)
{
int mode;
int list;
int star;
int line;

mode = lineNumber % 2;
if(mode = 0)
{
    for(line = 1,list = lineNumber/2;line <= list;line++)
    {
        for(star = 1;star <= line;star++)
        {
            printf("*");
        }
        printf("\n");

    }

    for(line = 1,list = lineNumber/2;line <= list;line++)
    {
        for(star = 1;star <= list+1-line;star++)
        {
            printf("*");
        }
        printf("\n");
    }
  } 
 else
  {

    for(line = 1,list = (lineNumber-2)/2;line <= list;line++)
    {
        for(star = 1;star <= line;star++)
        {
            printf("*");
        }
        printf("\n");
    }

    for(star = 1;star <= (lineNumber+1)/2;star++)
        printf("*");

    for(line = 1,list = (lineNumber-2)/2;line <= list;line++)
    {
        for(star = 0;star <= list-star;star++)
        {
            printf("*");
        }
        printf("\n");
    }
 }
  return;

}

想输出的是形如
*
**



**
*
的图形
但结果不对,不知错在哪里

link text

for (int i = 1; i <= 9; i++)
{
for (int j = 1; j <= 9 - i; j++)
{
printf(" ");
}

    for (int j = 1; j <= 2 * i - 1; j++) 
    {
        printf("*");
    }
    printf("\n");
}
for(int i = 9;i>0;i--)
{
    for(int j = 1; j<=9-i; j++)
    {
        printf(" ");
    }
    for(int j = 1; j<2*i-1; j++)
    {
        printf("*");
    }
    printf("\n");
}