Это может быть проблемой при использовании вами оператора постинкремента.
Это происходит:
// Using the post-increment operator.
int position = 0;
int position1, position2, position3;
position1 = position++; // position1 = 0, position = 1
position2 = position1++; // position2 = 0, position1 = 1
position3 = position2++; // position3 = 0, position2 = 1
Возможно, вы захотите:
// Using addition.
int position = 0;
int position1, position2, position3;
position1 = position + 1; // position1 = 1, position = 0
position2 = position1 + 1; // position2 = 2, position1 = 1
position3 = position2 + 1; // position3 = 3, position2 = 2
Или это:
// Using the pre-increment operator.
int position = 0;
int position1, position2, position3;
position1 = ++position; // position1 = 1, position = 1
position2 = ++position1; // position2 = 2, position1 = 2
position3 = ++position2; // position3 = 3, position2 = 3