DragonFly BSD
DragonFly users List (threaded) for 2005-04
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

code understanding help


From: Terry Tree <terry.tree@xxxxxxxxx>
Date: Sun, 3 Apr 2005 16:36:48 +0000

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.



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]