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