count is: 1 count is: 3 count is: 5 after printing this, count is changed to 5+2=7 Done counting by two's.
There is no need for the loop control variable (count) to exactly hit the limit
that is tested for in the condition part of the while
:
while ( count <= 6 )
The value "5" passed the test. Then it was incremented to a "7". The "7" failed the test.
The condition part of a while
is like a "gatekeeper."
It carefully checks if execution is to be admitted into the loop body.
It doesn't care how things came to be; if the test yields false,
the loop body is skipped.
This is shown in the following flowchart.
Execution "flows" along the lines in the direction of the arrows.
The diamond marked "Test Condition" represents the "gatekeeper."
If the condition tests true, execution will continue into
the loop body.
Once execution is in the loop body, it completely executes the loop body. Only after the complete loop body is executed does execution go back to the top of the loop, where the "gatekeeper" decides whether to let it execute the loop body again.