[Info-vax] decrementing & for loops in C
FrankS
sapienza at noesys.com
Thu Jan 8 08:07:17 EST 2009
On Jan 8, 8:03 am, vax... at chemie.uni-konstanz.de wrote:
> Hi,
>
> I tried to run one of the example found on Jim Duff's homepage and
> found a behavior of for loops written in C:
>
> int main (void) {
>
> int i,sum=0,n=10;
>
> (void)printf ("Starting countdown loop...\n");
> (void)fflush (stdout);
> for (i = n; i = 0; i--) {
> (void)printf (" i: %i\n",i);
> }
> (void)printf ("done.\n");
>
> (void)printf ("Starting normal loop...\n");
> (void)fflush (stdout);
> for (i = 1; i <= n; i++) {
> (void)printf (" i: %i\n",i);
> }
> (void)printf ("done.\n");
>
> }
>
> Here is the output:
>
> r SYSWRITE_TST
> Starting countdown loop...
> done.
> Starting normal loop...
> i: 1
> i: 2
> i: 3
> i: 4
> i: 5
> i: 6
> i: 7
> i: 8
> i: 9
> i: 10
> done.
>
> So the countdown loop is ignored. g++ under linux behaves the same.
>
> Are there any references that one cannot use decrementation and for
> loop in C?
>
> regards
> Eberhard
The conditional equivalance operator in C is == not =.
Your syntax error occurs in the FOR statement. You have:
for (i = n; i = 0; i--)
but it should be:
for (i = n; i == 0; i--)
More information about the Info-vax
mailing list