#include "d:\Practice Programs\Puzzle Feuer\Puzzles\defs.h" void main() { int x, y=1, z; if(y!=0 ) x=5; PRINT1(d,x); if(y==0) x=3; else x=5; PRINT1(d,x); x=1; if( y<0 ) if( y>0 ) x=3; // Remember an 'else' is associated to the nearest upstream 'if'. else x=5; // So this 'else' works with this 'if( y>0 )'. PRINT1(d,x); if( z=y<0 ) x=3; // 'y' is 1, so y<0 is faults, z=y<0 --> z = faults --. z = 0. else if( y==0 ) x=5; // So 'z' gets 0 but the 'if' is not done as the final value else x=7; // to be evaluated in the 'if( something )' --> if( 0 ). PRINT2(d,x,z); if( z=(y==0) ) x=5; // Remember 'if( something )' the 'something' is the final value else x=3; // resolved in the parentheses. PRINT2(d,x,z); if( x=z=y ); x=3; PRINT2(d,x,z); }