2012-02-02 52 views
1

大多數for迴路有語法:行爲分號後循環聲明

for(initializer; condition; incrementer) { 
    // code 
    // code 
} 

如果孤單的只有一行代碼,就可以參照下面的語法:

for(initializer; condition; incrementer) 
    // code 

或者

for(initializer; condition; incrementer) // code 

所以,我的問題是,這是怎麼回事,

for(initializer; condition; incrementer) 
    ; 

還是這個,

for(initializer; condition; incrementer); 

的行爲?在許多編程語言中,;是有效的語句。那麼,在for循環結束時;是否表示循環應該保持循環而沒有要執行的語句,還是;認爲該語句執行並循環此語句直到循環終止?

+2

是的,只有循環結構才能執行。很多人喜歡我把';'在它自己的路線上,試圖讓空循環更加明顯。 – kenny 2012-02-02 18:58:26

回答

2

在類C語言中(真正唯一有意義的地方),你的第二個描述是正確的:空語句作爲循環體執行。