2015-12-20 29 views
-3

我有這個問題:當循環顯示時,以下不正確的縮進是什麼? (提示:與適當的縮進重寫)如何縮進代碼以便答案正確?

var k = 0 
while (k < 5) 
alert(k) 
k++ 

A)0,1,2,3,4
B)1,2,3,4,5
C)0,1,2, 3,4,5
D)0,0,0,0,0,0 ...永遠的

我發現答案是D,但我不知道如何用它重寫正確的縮進。誰能幫我?

+3

縮進對代碼沒有任何作用(至少在javascript中)! –

+0

「用適當的縮進重寫它」是一個提示,因爲它是一種幫助你看到答案是D的方法。縮進while循環('alert')的主體清楚地表明'k'永遠不會增加循環,因此循環將是無限的。 – Michelle

回答

1
var k = 0 
while (k < 5) 
alert(k) 
k++ 

沒有括號,只有while語句的一行將被視爲while語句的主體。

你有什麼是無限循環,因爲k++永遠不會到達,因爲while語句中的條件始終爲真。所以,答案是D.

爲了使病情達到真實的,你應該在複合語句的正文中添加{}while聲明,包括k++這樣的:

var k = 0 
while (k < 5) { 
    alert(k) 
    k++ 
} 
+0

謝謝你自我:) – AndrewK

+0

沒問題。我希望我的回答是清楚可理解的,如果不是,我會很樂意進一步詳細。 –

1

剛:

var k = 0 
while (k < 5) 
    alert(k) 
k++ 

如果你從來沒有增加k你永遠不會 「打印」 任何東西比0以外,因爲k < 5總是true。你在infinite loop

如果你希望你的程序終止(結束),那麼你應該:

var k = 0 
while (k < 5){ 
    alert(k) 
    k++ 
} 

這樣k將被 「印」(0,1,2,3,...),直到它得到k = 5,然後停止。

+0

多數民衆贊成在a,b,c,d的代碼是答案 – AndrewK

+1

我發佈了「正確」的縮進,所以答案是D. – Idos

+0

@Andrew沒關係,Idos回答了你的問題。 – nicael

0

你可以用」 t只需要修改縮進,就需要花括號。

var k = 0 
while (k < 5) { 
    alert(k) 
    k++ 
} 
+2

這個問題不是「正確的」 – Idos

0
var k = 0 
while(k < 5) 
{ 
    alert(k) 
    k++ 
} 

這應該是正確的,如果你不把大括號({,})只剩下一行會被視爲「內部」環路。

相關問題