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?

Answers (1)

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 Comments

Cote
Cote on 9 May 2011
is it false because it always says 3<1 ?
Cote
Cote on 9 May 2011
So does it cause an infinite loop since it is a while loop and the condition is never met?
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"

This question is closed.

Asked:

on 9 May 2011

Closed:

on 20 Aug 2021

Community Treasure Hunt

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

Start Hunting!