But that suggests the loop is "normal". It isn't. Repeating a piece of the code is the
exception - it may be repeated once every couple of thousand of times. Normal program flow just goes top to bottom. Using a rare construct (goto) signifies that. Using a regular loop doesn't.
And I prefer not to have a separate declaration and initilization. But that only plays a part in the decision.