|
My suggestion would be to try it with an example.
a[] = {0, 0, 0, 0};
i = 0;
> Please, please, someone please help me understand why this two
> expressions
> are not equivalent:
>
> a[i++]++
after this one, a[] = {1, 0, 0, 0}, i=1 because i is incremented after the
operation.
> a[i++]=a[i++] + 1;
after this one, a[] = {0, 1, 0, 0}, i=2 because i is incremented after the
right side of the assignment is evaluated and then again after the left side
is evaluated.
I may get flamed because I didn't actually have a computer do it, but this
is my understanding of the issue. In a nutshell, the second statement has 2
increments on the variable i.
Glenn Howald
+---
| This is the JAVA/400 Mailing List!
| To submit a new message, send your mail to JAVA400-L@midrange.com.
| To subscribe to this list send email to JAVA400-L-SUB@midrange.com.
| To unsubscribe from this list send email to JAVA400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner: joe@zappie.net
+---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.