Help: if condition with evaluating multiple statements?

4 次查看(过去 30 天)
Hi everybody,
My sample if condition have 3 expression. As the following code, how can I evaluate statement 2 and statement 3 when the expressions are true?
a=1
b=1
c=3
if c==2
disp('C=2')
elseif a~=c
disp('a~=c') % Statement 2
elseif a~=c && b~=c
disp('a&b~=c') % Statement 3
end
When I run the code, it just showed 'a~=c', eventhough the expression 'a~=c && b~=c' is true.
Thanks.

采纳的回答

Mischa Kim
Mischa Kim 2014-10-28
编辑:Mischa Kim 2014-10-28
Khanh, only one of the if ( elseif ) statements is executed. In your case it is the second one, because it is the first condition that evaluates true.
Use instead:
if c==2
disp('C=2')
elseif a~=c
if b~=c
disp('a&b~=c') % Statement 3
else
disp('a~=c') % Statement 2
end
end
  1 个评论
Khanh
Khanh 2014-10-29
Thank you so much. Your answer makes me more understood about using if condition. Actually, I want to show both 'a&b~=c' and 'a~=c' and I found that I have to use each if-end with each expression. It will be as:
if c==2
disp('C=2')
end
if a~=c && b~=c
b~=c
disp('a&b~=c') % Statement 3
end
if a~=c
disp('a~=c') % Statement 2
end
And the command window will show both statement 2 and 3.
Thanks again man.

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by