C 语言中 while(1) 和 while(0) 的区别

cserver side programmingprogramming

众所周知,在 C 语言中,"while"关键字用于定义循环,该循环根据作为参数传递给循环的条件进行工作。现在,由于条件可以有两个值,真或假,因此如果条件为真,则 while 块内的代码将重复执行,如果条件为假,则不会执行代码。

现在将参数传递给 while 循环,我们可以区分 while(1) 和 while(0),因为 while(1) 是循环,其中条件始终被视为真,因此块内的代码开始重复执行。此外,我们可以说,不是 1 被传递给循环并使条件为真,但如果在 while 循环中传递任何非零整数,那么它将被视为真条件,因此代码开始执行。

另一方面,while(0) 是循环,其中条件始终被视为假,因此块内的代码永远不会开始执行。此外,我们可以说只有 0 被传递给循环并使条件为假,因此如果任何其他非零整数也可能为负数,也将其传递给 while 循环,那么它将被视为真条件,因此代码开始执行。

上面讨论的观点可以借助下图所示的示例来证明。

示例

while(1) 的示例

#include using namespace std;
main(){
   int i = 0;
   cout << "Loop get started";
   while(1){
      cout << "The value of i: ";
      if(i == 10){//当i为10时,跳出循环
         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){//当i为10时,跳出循环
      break; }
   }
   cout << "Loop get ended" ;
}

输出

Loop get started
Loop get ended

相关文章