/ / Création d'une fonction récursive pour l'impression d'étoiles - c

Créer une fonction récursive pour imprimer des étoiles - c

C’est une fonction récursive que j’ai réalisée pour imprimer un ensemble d’étoiles triangulaires. Il y avait eu un problème, la boucle fonctionnait indéfiniment. Aidez moi.

#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);
}

Réponses:

0 pour la réponse № 1

Il vous manque une garde et vous terminez le cycle. Vous appelez star (0,0) et le temps sera illimité

Vous devez transmettre l'argument reçu dans scanf à la fonction et exécuter un cycle for pour exécuter le nombre de lignes ou d'étoiles que vous avez transmis à la méthode.