多个while循环条件

Idi*_*ios 0 matlab while-loop

这是我的示例代码,用于解决while当满足三个条件中的任何一个时如何结束循环.

我希望代码结束时n = 100,但它结束于n = 301.我怎样才能结束这个n=100?

clear all; close all;
n = 0;
R = 0; A = 0; T = 0;    

while (R~=1) || (A~=1) || (T~=1)     
    if n == 100
        R = 1;
    end        
    if n == 200
        A = 1;
    end 
    if n == 300
        T = 1;
    end
    n=n+1;
end
Run Code Online (Sandbox Code Playgroud)

cwi*_*ssy 5

||是指或(短路).这意味着在所有条件都为假之前,您的循环不会退出.

你想使用AND,这是&&.这将意味着当至少一个条件为假时循环退出.

另外(来自下面的评论):

当循环结束时,n的值将为101(因为循环n=n+1的底部).如果重要的是n的值是100,那么你可以在主体中插入一个break (信息),if以便当n = 100时循环退出.