c语言 打印沙漏,里面没蝙蝠,进来看看。为啥循环中的 op 输不出来

#include
int main()
{
int i,n,k;
char op1,op;
scanf("%d",&n);
getchar();
scanf("%c",&op);
printf("%c",op); /*明明能输出 op*/
int a[200];
for(i=1;i<=200;i++)
a[i]=2*i-1;
int sum=0,sum1=0;
for(i=1;i<=10;i++){
sum=sum+a[i];
sum1=2*sum;
if(sum1-1>=n){
k=i-1;
break;
}
}

int j,g,h,count=0;
for(i=k;i>=1;i--)
{
for(j=k-i;j>0;j--)
printf(" ");
for(j=1;j<=2*i-1;j++){
printf("%c",op); /*到循环里头为啥又输不出来*/
count++;
}
printf("\n");
}
for(i=1;i<=k-1;i++){
for(j=k-1-i;j>0;j--)
printf(" ");
for(j=1;j<=2*i+1;j++){
printf("%c",op); /*这里也没办法输出 op*/
count++;
}
printf("\n");
}
printf("%d",n-count);
return 0;
}

能打印沙漏,不知说虾米
图片说明

    int i, n, k;
    char op1, op;
    scanf_s("%d", &n);
    getchar();
    scanf_s("%c", &op);
    printf_s("%c", op); /*明明能输出 op*/
    int a[200];
    for (i = 1; i <= 200; i++)
        a[i] = 2 * i - 1;
    int sum = 0, sum1 = 0;
    for (i = 1; i <= 10; i++){
        sum = sum + a[i];
        sum1 = 2 * sum;
        if (sum1 - 1 >= n){
            k = i - 1;
            break;
        }
    }

    int j, g, h, count = 0;
    for (i = k; i >= 1; i--)
    {
        for (j = k - i; j>0; j--)
            printf_s(" ");
        for (j = 1; j <= 2 * i - 1; j++){
            printf_s("%c", op); /*到循环里头为啥又输不出来*/
            count++;
        }
        printf_s("\n");
    }
    for (i = 1; i <= k - 1; i++){
        for (j = k - 1 - i; j>0; j--)
            printf_s(" ");
        for (j = 1; j <= 2 * i + 1; j++){
            printf_s("%c", op); /*这里也没办法输出 op*/
            count++;
        }
        printf_s("\n");
    }
    printf_s("%d", n - count);