跟大家普及下空循環和無窮循環的概念,空循環并不會無休止地進行下去–在重復預先指定的次數后,它就會退出循環。無窮循環會無休止地進行下去,并且永遠不會退出循環。把空循環和無窮循環對比一下,就能很好地說明它們之間的區別。
下面是一個空循環的例子:for(x=O;x<500000;x++);
注意,在上例中,在for循環的閉括號后直接加入了一個分號。正如你可能已經知道的那樣,c語言并不要求在for循環后加分號,通常只有包含在for循環中的語句后面才會帶分號。
在for循環后面直接加入分號(并且不使用大括號),即可建立一個空循環–實際上是一個不包含任何語句的循環。在上例中,當for循環執行時,變量x將自增500,000次,而在每一次自增運算期間,沒有進行任何處理。
那么,空循環有什么用呢?在大多數情況下,它的作用就是在程序中設置一次暫停。前面的例子將使程序”暫停”一段時間,即計算機數到500,000所需的時間。然而,空循環還有更多的用處,請看下例:while(!kbhit());
這個例子用一個空循環來等待一次擊鍵操作。當程序需要顯示類似”Press Any Key ToContinue”這樣的信息時,這種方法是很有用的(假設你的用戶很聰明,不會執著地在鍵盤上尋找”Any Key”!)。
無窮循環與空循環不同,它永遠不會結束。下面是一個無窮循環的例子:while(1);
在這個例子中,while語句中包含了一個非零常量,因此,while的條件永遠為真,循環永遠不會結束。注意,在閉括號后面直接加入一個分號,因此while語句中不包含任何其它語句,循環將無法終止(除非終止程序)。
C語言空循環和無窮循環有的區別
標簽:c語言