显示空格错误,求解求解

img

img

void DnRtTrg(int height, char symbol){
    if(height<=0){ break;
    }else{
        Show(height,symbol);
        printf("\n");
        Show(height,' ');
        DnRtTrg(height-1,symbol);

#include <stdio.h>

void Show(int number, char symbol)
{
    if (number == 0)
        return;
    putchar(symbol);
    Show(number - 1, symbol);
}

void DnRtTrg(int height, char symbol)
{
    static int i = 0;
    if (height <= 0)
        return;
    Show(i++, ' ');
    Show(height, symbol);
    putchar('\n');
    DnRtTrg(height - 1, symbol);
}

int main()
{
    int n = 5;
    char s = '*';
    scanf("%d %c", &n, &s);
    DnRtTrg(n, s);
    putchar('\n');

    return 0;
}

你为什么先打星号后打空格,星号和空格之间还加个换行,你是想干啥
学写代码要先学看代码
你自己看看自己到底写了个什么逻辑,能解释清楚自然知道错哪了
自己都看不懂自己写的代码那能不错吗
此外,学代码要会调试,到底怎么了执行一下就知道了,全靠脑子想太烧脑细胞了