matlab中,while循环嵌套for循环,在for循环中如何跳出while循环

while 1
for i=1:10
if i>9
%跳出while循环
end
end
end
后面还有代码 ,不要用return

对于嵌套循环,break只能跳出包括该语句的最里面一层循环。

 

如果相同时跳出外层循环,我知道的做法有:

1、如果后面没有其他代码,可以直接return。你已经声明了,这个不适合。

2、设置一个标志量flag,在break的时候修改flag,而在外层则根据flag的值决定是否跳出循环。这种方法有时会显得比较繁琐。

3、使用try-catch结构,在应该break的位置产生一个出错信息,由catch捕获,然后break。

 

第3种做法的参考代码如下:

while 1
    try
        for i=1:10
            if i>9
                error('跳出while循环');
            end
        end
    catch
        break
    end
end

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-03-21
内嵌循环用break还不行最后做个判断吧
flag=1;
while flag
   for i=1:10
      if i>9
          flag=0          %跳出while循环
          break;%跳出for循环
      end
   end
end

本回答被提问者采纳
相似回答