why does the loop in Keil run one more time?

Hi 

I use designStart cortex-m3 with ram and rom which inplemented by the internal ram in FPGA board.

And then I successfully connect it with Keil through JTAG.

And I try to run the simple function below:

uint8_t i = 0;
uint8_t k = 50;

for(i = 0;i < 10; i++)
{
    k--;
}
while(1);

I set a breakpoint in while(1)

when program run to here, the i is 11 and k equals 39...

and if I set a breakpoint at the start of for loop and run step by step,

the i and k is correct( i = 10,k = 40)

could anybody help me with this problem?