/ /星を印刷するための再帰関数を作成する - c

星印印刷のための再帰関数の作成 - c

これは私が三角星の星を印刷するために作った再帰関数です。問題がいくつかありました、ループは無限に実行されています。助けて。

#include<stdio.h>
int n;
void star(int x,int y)
{
if(x>y) {
printf("*");
star(x,++y);
} else if(x<=n) {
// x <= y and x <= n
printf("*n");
star(++x,0);
}
}
void main()
{
printf("Enter the number of lines to be printed: ");
scanf("%d",&n);
star(0,0);
}

回答:

回答№1は0

あなたは「警備員を欠いていて、そしてサイクルを終えます。あなたはstar(0,0)を呼びます、そしてそれは無期限に走ります...

scanfで受け取った引数を関数に渡し、メソッドに渡した行数または星数を実行するためにforサイクルを実行する必要があります。