日期:2014-05-17  浏览次数:20779 次

这个除了goto还有别的方法吗?
一段程序,在运算过程中如果满足了一定条件,跳回去重新开始执行
{
   ……
   ……
lableA:……
   ……
   ……
   {
     ……
     ……
     ……
     if(满足条件){goto lableA;}
     ……
   }
   ……
   ……
}

------解决方案--------------------
for()

lableA:……

  if(1==1)

  //跳出本次循环


------解决方案--------------------
2层  while 或  2层for

------解决方案--------------------
引用:
for的方式好像不行


{
   ……
   ……
lableA:……
   ……
   ……
   {//这层本身就是一个foreach循环
     ……
     ……
     ……
     if(满足条件){goto lableA;}//这里加break好像不行
     ……
   }
   ……
   ……

  ……

break的上一层加个判断嘛,给个bool值  如果为true 再跳到上一层
------解决方案--------------------
理论上不推荐使用goto语句, 因为goto语句破坏了程序顺序执行的特征, 用两个循环就可以了, 楼上极为的答案都很好.
------解决方案--------------------
该用的时候,应该用!!