C while循环的使用

C while循环的使用,c,loops,while-loop,C,Loops,While Loop,我在很多例子中看到了while循环的一种用法,我不确定在代码中使用它是否合适 while(1){ // code lines if(condition){ break; } // code lines } 这个可以用吗?什么是 while(1) 到底是什么意思 这个可以用吗?到底是什么 是的,它通常用于编程 while(1)与while(true)相同,基本上这是一个始终为真的条件,确保while循环永远不会停止,直到您使用brea

我在很多例子中看到了while循环的一种用法,我不确定在代码中使用它是否合适

 while(1){

    // code lines

    if(condition){
        break;
    }

    // code lines
}
这个可以用吗?什么是

while(1)  
到底是什么意思

这个可以用吗?到底是什么

是的,它通常用于编程

while(1)
while(true)
相同,基本上这是一个始终为真的条件,确保
while
循环永远不会停止,直到您使用
break手动将其中断

有许多应用程序支持这种行为。可能是退出条件非常复杂,需要函数调用等。可能是您只希望程序有一个无限循环(例如菜单),只在非常特定的提示下退出。你是否经常使用它也是一种风格选择。

,而(1)
与(;;)
是一样的,它们都意味着永远循环

当退出条件复杂,或在循环顶部未知,或作为退出条件位于最底部的
do
循环的替代方案时,可使用此选项

有些循环甚至没有出口;想象一个永远不会终止的守护进程,或者一个信号或其他中断驱动的应用程序,其中循环只执行如下操作

while(1) {
  listen_and_run();
  // or
  sleep(10);
}
而(1)
是一个无止境的循环条件。但在您的示例中,循环在
if(condition)
实现时结束,因为它是一个
break

while(1)一直持续到中断。您也可以单独使用它,例如在下面的示例中

int main(){
 signal(SIGINT, SIG_DFL);
 while(1);
}

此程序将一直持续,直到您执行ctrl+c。

这只是满足while循环中中断条件的一种替代方法。
while(1)只是程序员在while循环中强制执行一个始终为true的语句,使这个while循环继续,直到满足if条件。将中断条件放入while循环是惯例,但不是必需的。

在条件=>“1”始终被视为TRUE,“0”始终被视为False。 所以

而(1) {

}

表示条件为真,它将永远循环,因为“1”是一个常量值且为真。代码中的“if”条件只能使其脱离while循环。类似地,所有赋值和计算结果大于0的表达式都被视为TRUE

例:while(3*12){},while(a=b){},while(9/3){} 除非循环中存在打破循环的条件,否则这些将永远循环

类似地,所有计算结果为“0”或FALSE的表达式都不会进入循环。
例:while(a=0){},while(0){},while(5-5){},等等

是的,可以使用。而while(1)相当于while(true),表示while循环直到中断时才停止;没有人阻止你使用它,但你最好确定,虽然它变成了真的,如果不是的话,…那么你得到了一个无限循环。