08-24-2023, 12:51 PM
It's because `FOR` works by first incrementing the loop variable and then checking if it is greater than the end value you gave. For your loop, the first time `t` is greater is when it is incremented to 11.
The reason it works this way is because depending on your `STEP` and what end number you use, you might not hit the last number at all and instead skip right over it. Imagine you did this:
Obviously `t` cannot be 10.5 at the end because 10.5 will never be hit by the loop. Instead it works identical to your loop,`t` gets incremented to 11 and since that's greater than 10.5 the loop stops there.
The reason it works this way is because depending on your `STEP` and what end number you use, you might not hit the last number at all and instead skip right over it. Imagine you did this:
Code: (Select All)
For t = 1 To 10.5 Step 1
Next
Print t ' What should t be?
Obviously `t` cannot be 10.5 at the end because 10.5 will never be hit by the loop. Instead it works identical to your loop,`t` gets incremented to 11 and since that's greater than 10.5 the loop stops there.