问题
According to my teacher, a for-loop always executes at least once, even if the condition is not met.
Example (like I know it from C++):
for (int i=6; i <=5; i++) {
//irrelevant for this question
}
According to her, this loop would execute at least once, yet it does not, or am I missing something? Is there any case, no matter what language, where this would execute once? To eliminate the thought in advance: yes, it was about for loops, not do-while-loops.
Edit:
Thanks for all those quick answers, I guess this case is already closed. Have a nice day/night.
回答1:
You could say a for-loop is always evaluated at least once.
But if a for-loop's condition is not met, its block will never execute.
Because you didn't ask about other loops, I won't address those.
回答2:
A loop will only execute while its condition is true. Since a for
loop and a while
loop both check the condition before the body is executed they will never execute if the condition is false.
The only loop that will is a do while
loop. With a do while
loop the condition is not evaluated until the end of the loop. Because of that a do while
loop will always execute at least once.
回答3:
A for-loop always makes sure the condition is true before running the program. Whereas, a do-loop runs the program at least once and then checks the condition.
回答4:
An entry controlled loop will never execute if the condition is false
, however, exit controlled loop will execute at least once.
来源:https://stackoverflow.com/questions/44932344/is-a-for-loop-always-executed-at-least-once