编辑:我忘了添加第二段代码的循环部分。
查看这两种代码样式
while(some_loop_cont_val)
{
while(pre_x is not done)
{
//do action pre_x
}
//do action x
}和
while(some_loop_cont_val)
{
if(pre_x is not done)
{
//do action pre_x
}
else
{
//do action x
}
}第一个循环做pre_x (可能是一个迭代动作),然后是x,第二个循环做pre_x的一部分,如果没有做完,继续做,直到完成,然后做x,所以都做pre_x,然后做x。
我想知道两者之间是否有任何差异,无论是在效率方面,还是在其他方面(例如:是否有一些很少出现的微妙效果,等等),或者是否有任何理由在特定情况下使用一种而不是另一种,或者这只是一个偏好问题。
发布于 2009-11-29 06:18:18
如果内部循环的条件保持为真,则当外部循环的条件变为false时,第一个样式的内部循环将继续迭代。
相反,当外部循环的条件变为false时,if分支不能重复执行,而不管if条件是否保持为true。
(重复一下其他人说过的话: if-else不是一个循环。和while一样,它是一个控制结构,但不是一个循环。)
https://stackoverflow.com/questions/1813860
复制相似问题