What is happening in this while loop

2 views (last 30 days)
this is a peice of code written in matlab.
while(flag==1)
flag=0;
disp('end of loop');
end
surprisingly, this does not display the string and if i remove disp statement and figure1 window appears. can anyone explain why?

Accepted Answer

Andreas Justin
Andreas Justin on 28 Oct 2013
flag = true
while flag
flag=0;
disp('end of loop');
end
see: doc flag
  1 Comment
Image Analyst
Image Analyst on 28 Oct 2013
I bet a lot of people don't know flag is the name of a built-in function - I didn't. So it's best to use some other name instead of flag, like keepLooping, or keepGoing, or something. And your point of initializing flag prior to entering the loop is really the key issue here (because you could actually overwrite the flag function with your own variable of the same name if you wanted to, though it's not advised).

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!