/ / Створення рекурсивної функції для друку зірок - 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);
}

Відповіді:

0 для відповіді № 1

Вам "не вистачає охоронця, і закінчуєте цикл. Ви дзвоните зірці (0,0), і вона буде працювати безстроково ...

Ви повинні передати аргумент, отриманий у scanf, функції та зробити цикл для запуску кількості рядків чи зірок, які ви передали методу.