Boucle infinie - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Introduction

En programmation informatique, une boucle infinie désigne une boucle dont la condition de sortie n'a pas été définie ou ne peut pas être satisfaite. En conséquence, la boucle ne peut se terminer qu'à l'interruption du programme qui l'utilise. Les boucles infinies peuvent engendrer des bugs.

Les boucles infinies, dans le cas de la programmation PHP ou C / C++ entraînent une utilisation importante des ressources du serveur ou de l'ordinateur (hôte), pouvant conduire à l'arrêt des services et à une utilisation à 100 % du processeur, et par conséquent à un bug du système.

Exemples de boucles infinies

En Python par exemple, une boucle infinie peut être définie comme ceci :

      while True:          print "Boucle infinie"      

L'instruction contenue dans la boucle s'exécute tant que la condition définie après while, or ici cette condition est toujours vraie (True).

La situation suivante crée également une boucle infinie :

      i = 0      while i < 10:          i = 1      

En effet, la boucle se termine lorsque i n'est plus inférieur à 10, or l'instruction présente dans la boucle donne toujours à i la valeur 1 ; la condition de sortie de la boucle est donc toujours vraie.

En C / C++ comme en PHP, on peut trouver :

PHP :

      $i = 0;      while ($i < 1) {          // Instructions      }      

C :

      int i = 0;      while (i < 1) {          // Instructions      }      

La variable $i ou i n'est pas incrémentée (on ne lui ajoute pas 1) et par conséquent la condition sera toujours vérifiée car $i ou i = 0 < 1.

Page générée en 0.097 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise