船的拼音:C++程序中永久循环是用“for(;;)”好还是“while()”好?

来源:百度文库 编辑:高考问答 时间:2024/05/09 00:23:10
说for好的麻烦给个理由吧,多谢

for(;;)和while(1)在早期的编译器上是有区别的,for要比while少一句判断.而在新的编译器上,2者的差别已经没有了,现在的编译器已经能作出很智能的优化了.下面是用BCB写的代码的汇编码,可以看出已经没有区别了:

while(1){
printf("abc");
}
-->
@2:
push offset s@ ;s@是字符串"abc"的地址
call _printf
pop ecx ;恢复栈
jmp short @2

for(;;){
printf("abc");
}
-->
@2:
push offset s@ ;s@是字符串"abc"的地址
call _printf
pop ecx ;恢复栈
jmp short @2

从按键盘次数上说呢:
用for(;;){...}比while(1){...}少按一次键盘.
但是从程序的可读性和不容易出错性来说:
用while(1){...}别for(;;){...}要好点.

不论是用for(;;)还是用while()的结果都是一样的程序将进入一个死循环,你写的程序毫无用处,比较理想的循环式
for(;;)
{
if(:::::)break;
}

do{}
while(::::)
这样系统会等待满足条件的情况出现,来结束循环。从执行时间上来计算,优先选择do while 但也要视具体情况来定,如果仅仅有循环优先考虑for ()他执行时间短

for循环理论上可以解决所有问题,从实践上来说,掌握了for循环就可以把其他的都忘了。

在c语言的应用中,是等同的。

我觉得while好吧~!~!

看for的格式就应该知道它主要是用在固定次数上的(不是绝对的),而while是满足条件上的。不知道次数的循环当然用while。不过如果是死循环的话,我觉得随便了。