2012-08-09 2 views
-3

Une instruction if a une certaine condition, puis j'utilise une boucle while dans l'instruction if avec une autre condition, la condition de l'instruction if sera-t-elle testée à chaque itération?Si l'instruction est suivie d'une boucle

LIST-SEARCH'(L,k) 
x=L.nil.next 
if x!=L.nil 
    while x.key!=k 
     x=x.next 
return x 
+2

Pouvez-vous poster votre code au lieu de le décrire? Pour ma part, je trouverais plus facile d'aider. – hmjd

+0

Ce n'est pas C .. – hmjd

+0

Oui je sais, je viens de vous donner un code de psuedo. –

Répondre

8

Si ce que vous décrivez est comme:

if(conditionA) 
{ 
    while(conditionB) 
    { 
      /* ... */ 
    } 
} 

Alors, non. conditionA est testé une seule fois, tandis que conditionB est testé pour vérifier si la boucle doit être exécutée à nouveau pour chaque boucle.

1

La façon de savoir ces choses sans avoir à demander est d'exécuter votre programme à travers un débogueur et de passer par l'exécution de chaque ligne. Vous devriez remarquer que la ligne if-test n'est jamais atteinte qu'une fois, alors que le test dans la boucle while() est frappé à chaque itération. La plupart des IDE incluent des débogueurs avec cette capacité ou vous pouvez utiliser un utilitaire de ligne de commande comme gdb.

Questions connexes