/* * danger.c * Purpose: watch out for making assignment from within a relational expression when using && or || */ #include int main(void) { int aa, bb, cc, dd; // initialize 4 ints bb=cc=0; // initialize bb and cc to 0 dd=5; // initialize 55 to 5 if( (aa=bb) && (cc=dd) ) // assign aa=bb, which is 0 or FALSE // assign cc=dd is skipped // go to else { printf("Expression evaluates TRUE\n"); } else { printf("Expression evaluates FALSE\n"); } printf("Ending value of aa is: %d\n", aa); printf("Ending value of cc is: %d\n", cc); return 0; }