2012-08-09 126 views
-3

if語句有一定的條件,然後我在if語句中用另一個條件使用while循環,if語句中的條件是否會在每次迭代中被測試?如果語句後跟循環

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

你可以發佈你的代碼而不是描述它嗎?舉個例子,我會發現協助更容易。 – hmjd 2012-08-09 13:03:44

+0

這不是C .. – hmjd 2012-08-09 13:11:33

+0

是的,我知道,我只是給你一個僞代碼。 – 2012-08-09 13:12:20

回答

8

如果你的描述是這樣的:

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

,再沒有。 conditionA僅測試一次,而conditionB則經過測試以檢查是否應該爲每次循環運行再次執行循環。

1

知道這些事情的方法不用問就是通過調試器運行你的程序,並逐步執行每一行。你應該注意到if-test行只有一次命中,而while()循環中的測試在每次迭代時都被命中。大多數IDE包含具有此功能的調試器,或者您可以使用像gdb這樣的命令行實用程序。