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+

开启你的职业生涯

通过完成课程获得认证

开始学习
广告