1、语法结构 while(1)是使用while循环的一种常见写法,其中条件表达式为1,即永远为真,因此会一直执行循环体。 for(;;)是使用for循环的另一种表现形式,与while(1)相同,它没有设置任何的循环条件,所以也会一直执行循环体。 2、可读性 while(1)在一些场景下可能会让代码的意图不够清晰,读者需要仔细阅读代码...
2.不同点 while(1):其中括号里面是一个条件,程序会判断真假。而括号里面的“1”永远是一个“真值”。 其中,每一次循环,编译器都要判断常量1是不是等于零。 for(;;):这两个;;空语句,编译器一般会优化掉的,直接进入死循环。 根据上面的描述,你可能会觉得:while(1) 比 for(;;) 要做更多事,汇编代码更多...
while(1)比for(;;)更省资源 1、while(1)比for(;;)更省资源反汇编之后对比 2、volatile关键字一个定义为volatile的变量是说这变量可能会被意想不到地改变。 精确说,又花钱在用到这个变量时必须每次都重新读取这个变量的值,而不是使用保存在寄存器里的备份。 只有只读的状态寄存器的参数是const还可以是volatile...
C语言中死循环有两种常见方式: // 循环方式1 for(;;) { //执行语句 } // 循环方式2 while(1) { //执行语句 } 区别: for(;;)中的;;代表两个空语句,编译器会在编译时将其优化,直接进入循环;而while(1)存在一个判断语句--即是否为1,效率上稍逊于前者...
一、没啥区别党:都是心理作用 大部分网友认为二者并没有什么区别,很多时候,只是心理作用,国外工程师认为while需要经过判断括号里的表达式是否非0才跳转。但经过编译器的精心优化以后,while(1)也会被优化成无条件跳转(jmp指令),所以跟for(;;)没什么区别。有人表示,for(;;)在英语母语者那里很容易跟forever挂钩。网...
1、while适合用于状态变化控制,说高大上点就是while适合做状态机,而for仅仅是为了循环而循环 2、另外一个区别,for循环一般都是这么用的,for(int i=xx;i<xx;i++);重点是关于循环控制变量i是在for中声明的(不是说不可以声明在for外面,只是一般都是这么用),这样的话,在for循环结束后,i会被释放,可以优化内存...
用while构造死循环时,一般会使用while(TRUE)来构造死循环;而用for来构造死循环时,则使用for(;;)来构造死循环。这两个死循环的区别是:while循环里的条件被看成表达式,因此,当用while构造死循环时,里面的TRUE实际上被看成永远为真的表达式,这种情况容易产生混淆,有些工具软件如PC-Lint就会认为出错了,因此构造死循...
1 for循环是指满足条件下,重复执行语句或代码段,可以知道循环的次数 2 while循环只要条件为true,循环就可以一直执行下去 3 如果在for循环中,不添加条件,会产生死循环 4 在while循环中,如果判断的条件永久满足,会产生死循环 5 当知道循环次数,可以使用for循环 6 如果循环次数不确定,使用while循环 总结 1 1...
For和while之间,实际上这是可以转换的。从意图上来说for更加适合你做迭代,只是一股脑的访问而已,而...