这是一个基本问题,但我在for(;;)
之前从未真正遇到过这种类型的for循环。
你如何使用这种类型的循环?
您是否只是通过致电break;
来打破它?
我认为这是一个简单的问题,但我无法在网上找到解决方案。
答案 0 :(得分:3)
这只是无限运行循环的方法之一。没有初始条件,没有终止条件,循环会永远运行,除非你break
。
如果您的下一个问题出现在两个while(1)
或for(;;)
中哪个更好(性能/速度):while (1) Vs. for (;;) Is there a speed difference?
答案 1 :(得分:2)
for(;;)
循环与while(true)
相同。任何编译器都会将它们编译为相同的。
答案 2 :(得分:1)
这个for循环通常是无限循环的源,因为迭代的基本步骤完全在程序员的控制之下。实际上,当意图使用无限循环时,可以使用这种类型的for循环(使用空表达式),例如:
for (;;)
//loop body
你可以突破它。这类似于无限循环
while(1)
//loop body
答案 3 :(得分:0)
是的,你打破了,或者调用了非归还函数,例如exit()
。
答案 4 :(得分:0)
for(;;)
只是一个无限循环,就像While(true)
循环一样。
您可以使用Break;
停止循环,或者如果您在返回函数中使用它。
for(;;){
if(condition){
break;
}else {
//do something
}
}
或
int function(){
for(;;){
if(condition){
return 0 ;
}else {
//do something
}
return 0 ;
}