In this case, I'm not particularly inclined to complain
about the goto, though I find an explicit loop
a bit easier to read (in that the branching structure's
fairly well-defined; when I see a label, I look through all
the applicable code for gotos, even if I'm
fairly sure that there won't be more than the obvious one).
In my experience, the "goto EVIL!" meme is
propagated either by well-meaning but naive instructors who
don't want to "confuse" beginning programmers with the
vagaries of when gotos are appropriate, but
don't want their students picking up bad habits, or by
cargo-cult instructors who were taught that
goto is uniformly bad, didn't bother to
question the statement, and go on to teach others. Either
way, it's irritating, but probably a net win.
The hell with paco, vote for Erudil!