有些编译器在写程序时会自动生成死循环代码,大多是使用for形式的,我们自己写程序,经常用的while(1),所以有些不解,查询网络后得出以下结论
即 for(;;)和while(1)两种死循环的区别:
1、 for(;;)死循环里的两个;;代表两个空语句,编译器一般会优化掉它们,直接进入循环体。
while(1)死循环里的1被看成表达式,每循环一次都要判断常量1是不是等于零。
即,相对来说for式死循环更加高效一点
当然以上条件成立还要看编译器的优化,一些编译器优化的两者并无区别,但是,并非所有的编译器都做了这样的优化。
2、for(;;)只有7个字符和while(1)相比省一个字符
3、for(;;)方式循环,,好像有点丑(个人愚见)
for(;;)和while(1)两种死循环的区别
最新推荐文章于 2026-01-03 22:30:29 发布
本文探讨了编程中for(;;)与while(1)两种死循环的区别,前者因编译器优化而相对高效,且字符更少,但外观上可能不如后者直观。
和while1两种死循环的区别&spm=1001.2101.3001.5002&articleId=55281499&d=1&t=3&u=58a532ced73f4b1786bd30477672b42b)
582

被折叠的 条评论
为什么被折叠?



