`if (a = b)' (was Standard indentation?)
Peter da Silva
peter at ficc.uu.net
Sun Dec 18 16:06:55 AEST 1988
In article <3049 at arcturus>, evil at arcturus.UUCP (Wade Guthrie) writes:
> The sound of a programmer trying to read a C program flinging himself
> against a wall.
Is that like the sound of one hand clapping?
> In article <8536 at alice.UUCP>, ark at alice.UUCP (Andrew Koenig) writes:
> > do ch = getchar();
> > while (ch != EOF)
> > process(ch);
> > or, with braces:
> > do {
> > ch = getchar();
> > } while (ch != EOF) {
> > process(ch);
> > }
This is a wonderful and clean extension to 'C' that solves the loop problem
once and for all!
> I really do not mean to flame this person, but the above constructions
> are EXCEEDINGLY hard to read. I much perfer the method which already
> exists:
Only if you're not used to it. have you ever done extensive bourne-shell
or Forth programming, where this construct is a common idiom?
> while ( (c=getchar()) != EOF)
> process(c);
How about (in K&R indenting style, for consistancy):
do {
Ask question.
Get answer.
Categorise answer.
} while(answer != exit) {
Stuff...
switch(answer) {
...
}
And more stuff...
}
That is, what about the case where the first part of the loop is too complex
to fit in a while statement. Sure, you could put a break in, but isn't this
clearer? The existing while and do loops become special cases.
--
Peter da Silva, Xenix Support, Ferranti International Controls Corporation.
Work: uunet.uu.net!ficc!peter, peter at ficc.uu.net, +1 713 274 5180.
Home: bigtex!texbell!sugar!peter, peter at sugar.uu.net.
More information about the Comp.lang.c
mailing list