C語言中while(1)和while(0)的區別


眾所周知,在C語言中,“while”關鍵字用於定義一個迴圈,該迴圈基於作為引數傳遞給迴圈的條件。由於條件只有真或假兩種值,因此如果條件為真,則while塊內的程式碼將重複執行;如果條件為假,則程式碼將不會執行。

現在,透過向while迴圈傳遞引數,我們可以區分while(1)和while(0):while(1)是一個條件始終被視為真的迴圈,因此塊內的程式碼將重複執行。此外,我們可以說傳遞給迴圈的不是1,而是任何非零整數都會被視為真條件,從而使程式碼開始執行。

另一方面,while(0)是一個條件始終被視為假的迴圈,因此塊內的程式碼永遠不會開始執行。此外,我們可以說只有傳遞給迴圈的0才會使條件為假,如果傳遞任何其他非零整數(包括負數),則會被視為真條件,從而使程式碼開始執行。

以上幾點可以透過下面的示例來說明。

示例

while(1)示例

#include using namespace std;
main(){
   int i = 0;
   cout << "Loop get started";
   while(1){
      cout << "The value of i: ";
      if(i == 10){ //when i is 10, then come out from loop
         break;
      }
   }
   cout << "Loop get ended" ;
}

輸出

Loop get started
The value of i: 1
The value of i: 2
The value of i: 3
The value of i: 4
The value of i: 5
The value of i: 6
The value of i: 7
The value of i: 8
The value of i: 9
The value of i: 10
Loop gets ended

示例

while(0)示例

#include
using namespace std;
main(){
   int i = 0;
   cout << "Loop get started";
   while(0){
      cout << "The value of i: ";
      if(i == 10){ //when i is 10, then come out from loop
      break; }
   }
   cout << "Loop get ended" ;
}

輸出

Loop get started
Loop get ended

更新於:2020年6月9日

瀏覽量:1000+

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告