One interesting thing about C is that any statement has a value. This value can be used in the program. If the statement is performing an assignment the value of the statement is the result of the assignment. If you couple this with the fact that C regards any value other than 0 as true you can make really cunning looking code:

    if ( x = y - 99 ) {
        /*  we do this bit if y - */
        /*  99 is not equal to 0  */
    }

This lets you do really cunning things. In the code above the code in the if statement is obeyed if the assignment x = y - 99 has a non zero value, i.e. if y - 99 is non zero. At the same time we are performing an assignment to x within the test in an effort to make your program even smaller and more cunning.

Please don't do things like this. If you don't understand the code above don't worry. C2C doesn't like it either, and will refuse to compile it. However you may run up against programs which have been written in this way. I much prefer the equivalent:

    x = y - 99 ;
    if ( x != 0 ) {
        /* we do this bit if         */
        /* y - 99 is not equal to 0  */
    }

It is much easier to understand.