Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site duke.UUCP Path: utzoo!watmath!clyde!bonnie!akgua!mcnc!duke!crm From: crm@duke.UUCP (Charlie Martin) Newsgroups: net.lang.c Subject: Re: Breaking out of several nested loops (& ANSI C) Message-ID: <4886@duke.UUCP> Date: Wed, 10-Oct-84 08:55:54 EDT Article-I.D.: duke.4886 Posted: Wed Oct 10 08:55:54 1984 Date-Received: Fri, 12-Oct-84 08:06:33 EDT References: <129@ssc-vax.UUCP>, <1801@pegasus.UUCP> Organization: Duke University Lines: 36 I may be dense, but I simply cannot see what makes label: while ( cond ) { ... if ( break cond ) break label ; } any more structured'' than while( cond ) { ... if ( break cond ) goto end ; } end : ; In addition, the construct above has the advantage that it looks like it is doing what it is really doing -- that is, the break label'' version says that it is breaking a loop labellled label'', which label is at the beginning, but it is effectively GOING to the END. Don Knuth wrote an article that was pretty good on Structured Programming With GOTO's that covered all off this sort of thing, by the way -- I can dig up a formal reference if needed. Charlie Martin (...mcnc!duke!crm)