code understanding help
Terry Tree
terry.tree at gmail.com
Sun Apr 3 09:37:42 PDT 2005
I'm trying to go through a book on programming in C and I'm having
problem understanding the second example in the book.
$cat 2.c
#define PRINTX printf("%d\n", x);
int
main(int argc, char *argv[])
{
int x = 2, y, z;
x *= 3 + 2; PRINTX;
x *= y = z = 4; PRINTX; // the output makes no sense
x = y == z; PRINTX;
x == (y = z); PRINTX;
}
Looking at line x *= y = z = 4; from my point of view the output
should be 8 but it is 40.
More information about the Users
mailing list