为什么我无法打印空格字符?

MNY*_*MNY 3 c

这是我的代码:

int main(void)
{

    int i, j, k, n;
    char userLatter, space;
    printf("please enter an uppercase letter:\n");
    scanf("%c", &userLatter);
    n = 9;

    for (i = 0; i < 5; i++)
    {
        space = ' ';
        for (j = 5; j > i; j--)
        {
            ++space;
        }


        for (k = 0; k <= i ; k += 1)
        {
            printf("%c%c%c", space, userLatter, space);
        }
        printf("\n");
    }

}
Run Code Online (Sandbox Code Playgroud)

你能告诉我我应该怎么做才能打印空间角色吗?

谢谢!

pad*_*ddy 6

你继续用这条线将空间变成其他东西:

++space;
Run Code Online (Sandbox Code Playgroud)

你有什么期望呢?你想把它变成一串多个空格吗?

您可以使用printf格式说明符来填充角色.试试这个:

int width = 4;
char letter = 'A';
printf( ":%*c:\n", width, letter );
Run Code Online (Sandbox Code Playgroud)

这将输出3个空格和字母A:

:   A:
Run Code Online (Sandbox Code Playgroud)

如果你只是想放一个空格,不要忘记你可以在格式字符串中放一个空格.如同着名的:

printf( "Hello, world!\n" );
Run Code Online (Sandbox Code Playgroud)

注意那里有一个空间.