D - scope of variables in do-while
- "Robert" <no spam.ne.jp> Jan 07 2004
- Ilya Minkov <minkov cs.tum.edu> Jan 07 2004
- "Sean L. Palmer" <palmer.sean verizon.net> Jan 11 2004
- "Matthew" <matthew.hat stlsoft.dot.org> Jan 07 2004
- Heretic <Heretic_member pathlink.com> Jan 07 2004
- "Sean L. Palmer" <palmer.sean verizon.net> Jan 11 2004
- J Anderson <REMOVEanderson badmama.com.au> Jan 07 2004
I sometimes want to write as:
do {
int c = getchar();
} while(!(c == EOF || c == '\n'));
but condition expression of the 'while' is out of scope of 'c'.
So, I must write as:
int c;
do {
c = getchar();
} while(!(c == EOF || c == '\n'));
Though, I think the former is better than the latter.
Jan 07 2004
I vote for it! I just ran over the same in C++ today! do scope should extend to while. Robert wrote:do { int c = getchar(); } while(!(c == EOF || c == '\n'));
Jan 07 2004
Yes. I often wish for this. Sean "Ilya Minkov" <minkov cs.tum.edu> wrote in message news:bthssm$2s00$1 digitaldaemon.com...I vote for it! I just ran over the same in C++ today! do scope should extend to while. Robert wrote:do { int c = getchar(); } while(!(c == EOF || c == '\n'));
Jan 11 2004
How about
do with (int c)
{
c = getchar();
} while(!(c == EOF || c == '\n'));
Walter, would that be unambiguously parseable?
"Robert" <no spam.ne.jp> wrote in message
news:bthsbo$2raj$1 digitaldaemon.com...
I sometimes want to write as:
do {
int c = getchar();
} while(!(c == EOF || c == '\n'));
but condition expression of the 'while' is out of scope of 'c'.
So, I must write as:
int c;
do {
c = getchar();
} while(!(c == EOF || c == '\n'));
Though, I think the former is better than the latter.
Jan 07 2004
In article <bthsbo$2raj$1 digitaldaemon.com>, Robert says...I sometimes want to write as: do { int c = getchar(); } while(!(c == EOF || c == '\n'));
I also vote ;) for this... i wish it was this way everytime i write a do-while loop :)
Jan 07 2004
while is somewhat ambiguous anyway. Why not go ahead and add until?
{
int c=getchar();
} until (c > 32);
Or it could also start with do
do { } until (false);
Just prevents a bit of logical negation, may make some source code a wee bit
clearer in intent.
Sean
"Heretic" <Heretic_member pathlink.com> wrote in message
news:bti7kf$bou$1 digitaldaemon.com...
In article <bthsbo$2raj$1 digitaldaemon.com>, Robert says...
I sometimes want to write as:
do {
int c = getchar();
} while(!(c == EOF || c == '\n'));
I also vote ;) for this... i wish it was this way everytime i write a
loop :)
Jan 11 2004
Robert wrote:I sometimes want to write as: do { int c = getchar(); } while(!(c == EOF || c == '\n')); but condition expression of the 'while' is out of scope of 'c'. So, I must write as: int c; do { c = getchar(); } while(!(c == EOF || c == '\n')); Though, I think the former is better than the latter.
loop, but that's a bit picky.
Jan 07 2004









"Sean L. Palmer" <palmer.sean verizon.net> 