为什么输出空格有错误

问题遇到的现象和发生背景

img

问题相关代码,请勿粘贴截图

#include<stdio.h>
int main()
{int i,j,k;
for(i=1;i<=9;i++)
{for(j=9;j>i;j--)
printf(" "); }
for(k=0;k<i;k++)
printf("%d",9-(i-1)+k);
putchar('\n');
}
return 0;
}

运行结果及报错内容

img


为什么输出空格是错误?

第六行多了个}


int main()
{
    int i, j, k;
    for (i = 1; i <= 9; i++)
    {
        for (j = 9; j > i; j--)
            printf(" ");

        for (k = i; k > 0; k--)
            printf("%d", k);
        putchar('\n');
    }
    return 0;
}
int main()
{
    int i,j,k;
    for(i=1;i<=9;i++)
    {
        for(j=9;j>i;j--)
            printf(" "); 
    }
    for(k=0;k<i;k++)
        printf("%d",9-(i-1)+k);
    putchar('\n');
return 0;
}

return 0前面多了个大括号

代码仅供参考!谢谢!

img

#include<stdio.h>
int main()
{
    int i, j, k;

    for (i = 1, k = 18; i <= 9; i++, k -= 2)
    {
        for (j = i; j > 0; j--)
        {
            j == i ? printf("%*d", k, j) : printf("%2d", j);
        }
        putchar('\n');
    }

    return 0;
}

这篇文章:关于输出中空格的控制 也许能够解决你的问题,你可以看下