Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site 3comvax.UUCP Path: utzoo!linus!philabs!cmcl2!seismo!lll-crg!ucdavis!ucbvax!decvax!decwrl!Glacier!oliveb!3comvax!mikes From: mikes@3comvax.UUCP (Mike Shannon) Newsgroups: net.lang.c Subject: Re: break, continue, return, goto (net.religion.c) Message-ID: <271@3comvax.UUCP> Date: Wed, 6-Nov-85 17:52:12 EST Article-I.D.: 3comvax.271 Posted: Wed Nov 6 17:52:12 1985 Date-Received: Sat, 9-Nov-85 07:05:39 EST References: <771@whuxl.UUCP> <516@busch.UUCP> Distribution: net Organization: 3Com Corp; Mountain View, CA Lines: 40 Craig Miller (in >) and Michael Baldwin (in > >): In general, I like Craig's suggestions, but offer an improvement(?) over: > Next: > > /* using break for ending a complicated search loop */ > > for (m = meeble; m < meeble + NMEEBLE; m++) > > if (m->glop == forp && m->zip == fweep) { > > printf("zeegle %2s", m->yorg); > > m->blazzo += IGUAP; > > break; > > } > > Becomes: > for (m = meeble; > m < meeble + NMEEBLE && (m->glop != forp || m->zip != fweep); > m++) > /* > * walk thru the array till we hit the end or > * find the right one > */ > ; > /* > * did the find the right one? > */ > if (m < meeble + NMEEBLE) { > printf("zeegle %2s", m->yorg); > m->blazzo += IGUAP; > } how about: p = NULL; for (m = meeble; m < meeble + NMEEBLE && p == NULL; m++) { /* find it */ if (m->glop == forp && m->zip == fweep) { p = m; } } if (p) { /* zap it */ printf("zeegle %2s", m->yorg); p->blazzo += IGUAP; } -- Michael Shannon {ihnp4,hplabs}!oliveb!3comvax!mikes