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