What is happening in this while loop

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?

 采纳的回答

flag = true
while flag
flag=0;
disp('end of loop');
end
see: doc flag

1 个评论

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).

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Loops and Conditional Statements 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by