Comment utiliser la fonction récursive en c

Comment utiliser la fonction récursive en c

Quand il s'agit de résoudre des problèmes dans la programmation informatique, il existe de nombreuses techniques disponibles. L'un d'eux est récursivité, qui est un processus qui implique d'appeler une fonction en lui-même.

Cet article explorera comment implémenter des fonctions récursives dans le langage de programmation C. Nous discuterons de la syntaxe et de la structure de base de fonctions récursives, ainsi que pour fournir un exemple de la façon dont ils peuvent être utilisés pour résoudre des problèmes de programmation courants.

Quelle est la fonction récursive

En programmation C, le fonction récursive est une fonction qui s'appelle pendant son exécution. Il est bénéfique pour résoudre des problèmes complexes qui nécessitent des calculs répétitifs ou une logique de ramification. En décomposant un problème en sous-problèmes plus petits qui peuvent être résolus récursivement, le programme peut arriver à une solution efficacement et élégamment.

Voici deux conditions préalables pour la création récursivité en programmation C:

  1. Une condition de sortie: Cette condition aide la fonction à déterminer quand quitter. Sans condition de sortie, le code peut entrer une boucle infinie.
  2. Changer le comptoir: Le compteur doit être modifié à chaque appel vers la fonction.

Syntaxe pour la fonction récursive en c

La syntaxe de c fonction récursive est donné comme:

return_type function_name (paramètres)
// cas de base
if (condition)
retourner quelque_value;

// cas récursif
return function_name (Modified_Parameters);


Ici, return_type est le type de données de la valeur renvoyée par la fonction, function_name est le nom de la fonction, et les paramètres sont les paramètres d'entrée transmis à la fonction.

La fonction est d'abord définie avec un cas de base qui fournit une condition de terminaison, puis un cas récursif qui appelle la fonction elle-même avec des paramètres d'entrée modifiés.

Comment utiliser la fonction récursive en c

Lorsqu'un fonction récursive est appelé, il met de côté de la mémoire pour exécuter ses opérations. Si la condition est remplie, elle transmet le résultat à la fonction précédente, qui libère également la mémoire qu'il réserve. Ce processus ne cesse de répéter jusqu'à ce que la fonction qui le démarrait renvoie tout sa sortie finale. Cependant, lorsque les critères ne sont pas satisfaits, la fonction continuera à passer des appels récursifs jusqu'à ce qu'il finisse par casser le programme.

Ce qui suit est un code simple pour utiliser le fonction récursive en programmation C:

#inclure
int factorial (int n)
// Cas de base
if (n == 0)
retour 1;

// cas récursif
autre
retour n * factoriel (n-1);


int main()
int num;
printf ("Entrez un numéro non négatif:");
scanf ("% d", & num);
printf ("factoriel de% d est% d", num, factoriel (num));
retour 0;


Le code ci-dessus invite l'utilisateur à saisir un entier non négatif et calcule sa factorielle à l'aide d'une fonction récursive appelée factoriel (). La fonction vérifie d'abord si le boîtier de base est rempli (i.e., Si l'entrée est 0) et renvoie 1 si c'est le cas. Sinon, il s'appelle avec l'argument (n-1) jusqu'à ce que le cas de base soit rempli. Un résultat final a ensuite été retourné à la fonction principale (), qui l'imprime à la console.

Conclusion

Fonctions récursives sont une puissante technique de programmation pour résoudre des problèmes qui nécessitent une exécution répétée de logique similaire. Cependant, ils doivent être utilisés avec soin, car ils nécessitent plus de mémoire et de temps que les programmes incrémentiels. Il est important de définir une condition de base pour le fonction récursive et assurez-vous que la condition de sortie est remplie pour éviter une boucle infinie. Avec l'aide de ce tutoriel, vous comprenez maintenant comment créer et utiliser des fonctions récursives dans la programmation C.