bending a loop backwards ... isn't a good way of programming
To me, it looks like you are bending an if backwards to create a loop. A while loop with a single iteration under most conditions is perfectly valid, a loop can even execute 0 times. Still valid. To me, the only number that matters is 'n', and n can take on any value, it doesn't matter. But I seriously doubt we will ever come to agreement on this (fair enough)... So I'll give up here.
IMHO, using a goto to forge a loop isn't a good way of programming. Depends if you pray at the alter of Dijkstra (see link already posted below) or Knuth, I guess. If you have a online reference to the Knuth article, I'd like to read it to see how he justifies the theory. I'm not going to buy K&R or bother reading all of that MIX stuff, so please don't suggest that :)