while (expr1, expr2, expr3, expr4, expr5, expr6, expr7)
The ONLY time I use the comma operator is in the following way:
while ((print prompt), test-response-to-prompt)
How is this "opaque"?
My code prepends a single print statement in the "while", a very simple thing who's return value is ignored. Without the comma operator, I would have to prompt before the loop and then prompt before the next loop. This can lead to many prompt statements or calls to a prompt subroutine for each error condition instead of just "next;".
The print statement at the beginning has no effect upon the test-response-to-prompt code. Use of the comma operator avoids 2 or more other statements.
I avoid while(1) except in the case of servers. Those loops never exit. I consider your while(1) with multiple returns within the FOREVER statement (a typical #define for while (1)or for (;;)) to be confusing. You have to read the code to figure out what the "end of loop" condition really is.
I argue that it is better to put the "end of loop" condition in the "while" or "for" loop, right at the top rather than "burying it" within a FOREVER loop.
In reply to Re^3: Use of uninitialized value in addition
by Marshall
in thread Use of uninitialized value in addition
by Solarplight
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |