What does this print out?

a = 3;
b = a;
a = 1;
while (b<a)
b = b + 1;
disp(b)
end
I thought this would create an infinite loop is that correct?

답변 (1개)

Paulo Silva
Paulo Silva 2011년 5월 9일

0 개 추천

it never prints, the condition is false
do this before the loop
b<a %replacing b and a by their first values you get 3<1
answer is 0 because the condition is false thus the loop never begins

댓글 수: 3

Cote
Cote 2011년 5월 9일
is it false because it always says 3<1 ?
Cote
Cote 2011년 5월 9일
So does it cause an infinite loop since it is a while loop and the condition is never met?
Paulo Silva
Paulo Silva 2011년 5월 9일
the condition is tested in the while line, if true the while begins, does what's inside it and in the end it tests again the condition, if false the code inside the while loop is "ignored"

이 질문은 마감되었습니다.

질문:

2011년 5월 9일

마감:

2021년 8월 20일

Community Treasure Hunt

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

Start Hunting!

Translated by