Le 25/01/2016 19:11, Rainer Weikusat a écrit :
Didier Kryn <[email protected]> writes:
[...]
A multi-line version could look like this:
while (c = *r) {
++r;
if (c == '/') n = r;
}
It might be done with a for loop. eg:
for ( ; *r ; ++r) if(*r=='/') n=r;
n++;
[...]
The for loop is the best construct for a loop with an incremental
cursor.
That's nicely exemplified by the fact that the code above does a
redundant increment (or did a redundant increment would it work, the {}
are missing)
There needs only be one increment of n at the end of the loop, but,
maybe it should be:
if(n) n++;
because I guess n starts from 0.
solely to work around the fact that the "for loop
mechanics" of checking the condition before the loop body is executed
and performing a "variable increment step" afterwards are ill-suited to
this particular problem ...
I must agree, and I didn't think it was true before reading your
example, that the post-increment may have a true semantic value beyond
an attempt to optimise execution which would be futile. Which doesn't
mean I'm convinced it :-)
Didier
_______________________________________________
Dng mailing list
[email protected]
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng