📜  while(1)或while(2)中哪个会更快?

📅  最后修改于: 2021-05-25 19:06:03             🧑  作者: Mango

在大多数编程语言中,while循环是控制流语句,该语句允许根据给定的布尔条件重复执行代码。布尔条件为truefalse

while(1)和while(2)

这是一个无限循环,它将一直运行到显式发出break语句为止。 while(1)while(2)都不是,任何非零的整数都不会产生与while(1)类似的效果。因此,while(1),while(2)或while(-255),除非我们使用break语句,否则它们都将给出无限循环。

while(1) or while(2) or while(any non-zero integer)
{ 
    // loop runs infinitely
}

但实际上,不建议在现实世界中使用while(1)或while(任何非零整数) ,因为它会增加CPU使用率并阻塞代码,即,一个人不能从while(1)出来,直到该程序是手动关闭的。 while(1)可以在始终需要满足条件的地方使用。

下面的代码说明了C / C++中的while(1)和while(2):

程序1:

C
// C program to illustrate while(1)
#include
  
// Driver Code
int main()
{
    int i = 0;
    while (1) {
  
        printf("%d ", ++i);
        if (i == 5) {
  
            // Break to come out of loop
            break;
        }
    }
    return 0;
}


C++
// C++ program to illustrate while(1)
#include 
using namespace std;
  
// Driver Code
int main()
{
    int i = 0;
    while (1) {
  
        cout << ++i << " ";
        if (i == 5) {
  
            // Break to come out of loop
            break;
        }
    }
    return 0;
}


C
// C program to illustrate while(2)
#include
  
// Driver Code
int main()
{
    int i = 0;
    while (2) {
  
        printf("%d ", ++i);
        if (i == 5) {
  
            // Break to come out of loop
            break;
        }
    }
    return 0;
}


C++
// C++ program to illustrate while(2)
#include 
using namespace std;
  
// Driver Code
int main()
{
    int i = 0;
    while (2) {
  
        cout << ++i << " ";
        if (i == 5) {
  
            // Break to come out of loop
            break;
        }
    }
    return 0;
}


输出:
1 2 3 4 5

程式2:

C

// C program to illustrate while(2)
#include
  
// Driver Code
int main()
{
    int i = 0;
    while (2) {
  
        printf("%d ", ++i);
        if (i == 5) {
  
            // Break to come out of loop
            break;
        }
    }
    return 0;
}

C++

// C++ program to illustrate while(2)
#include 
using namespace std;
  
// Driver Code
int main()
{
    int i = 0;
    while (2) {
  
        cout << ++i << " ";
        if (i == 5) {
  
            // Break to come out of loop
            break;
        }
    }
    return 0;
}
输出:
1 2 3 4 5
想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。