Rick Stevens wrote:
Well, if you read Kernighan & Ritchey's original "The C
Programming
Language" book, the "goto" was only put in because C doesn't provide
a
multi-level break statement. The only way out of that situation short
of lots and lots of sentinel values is a goto. Of course, they also
state that if you are more than four levels of indentation deep, you
probably should think about splitting out a function or rethinking your
logic.
There are times where a "goto" is appropriate, but one should try to
minimize its use--true in almost any procedural language. If you want
to abuse the "goto", write in BASIC. :-)
http://xkcd.com/c194.html