Pourquoi l'appel main()
à l'intérieur du corps de main()
cause-t-il une boucle finie?Boucle infinie dans main()
#include<stdio.h>
int main()
{
printf("\n Sonata Software");
main();
return 0;
}
Pourquoi l'appel main()
à l'intérieur du corps de main()
cause-t-il une boucle finie?Boucle infinie dans main()
#include<stdio.h>
int main()
{
printf("\n Sonata Software");
main();
return 0;
}
Cette « boucle » se termine ou est « finie » parce que vous continuez à appeler main()
à l'intérieur main()
, éventuellement en utilisant tout l'espace de cadre de pile que vous avez et entraînant une StackOverflow
Ce programme ne fonctionne pas . Main n'est pas une fonction définie par l'utilisateur, que vous appellerez fonction dans main comme récursivité. Ça va montrer une erreur.
Les règles pour C et C++ sont différentes; C permet (ou du moins, n'interdit pas explicitement) d'appeler 'main' depuis le programme. –
Ou, "récursion". Il fonctionnera jusqu'à ce que la pile soit épuisée. Pourquoi me demander? Essayez-le. –
principal est juste une fonction. Vous pouvez appeler la même fonction en elle-même, c'est ce qu'on appelle la récursivité. Vous devriez rechercher ce genre de choses dans la barre de recherche avant de poser des questions simples. – Elias
récursion ...... – Ajit