Partager via


C6293

avertissement C6293 : Boucle mal définie : calcule à rebours à partir de la valeur minimale

Cet avertissement indique qu'une boucle for peut ne pas fonctionner comme prévu. Il se produit lorsqu'une boucle soustrait d'un minimum, mais a une condition d'arrêt supérieure.

Si une variable d'index signée, ou non signée, associée à un incrément négatif est présente, la boucle effectuera un décompte négatif jusqu'à ce qu'un dépassement de capacité se produise. Cela arrêtera la boucle.

Exemple

L'exemple de code suivant génère cet avertissement :

void f( )
{
   signed char i;
   
   for (i = 0; i < 100; i--)
   {
      // code ...
   }
}

Pour corriger cet avertissement, utilisez le code suivant :

void f( )
{
   signed char i;
   
   for (i = 0; i < 100; i++)
   {
      // code ...
   }
}