/* ECP: FILEname=fig6_1.c */ /* 1*/ /* A Very Flawed Program */ /* 2*/ #include /* 3*/ int Global; /* 4*/ main( void ) /* 5*/ { /* 6*/ static int X, Y, Z = 1; /* 7*/ int Local; /* 8*/ /* First, We Will Be Nosey */ /* 9*/ printf( "X, Y, and Z are at %x, %x, %x\n", &X, &Y, &Z ); /*10*/ printf( "Global is at: %x\n", &Global ); /*11*/ printf( "Local is at: %x\n\n", &Local ); /*12*/ printf( "X, Y, and Z are at %u, %u, %u\n", &X, &Y, &Z ); /*13*/ printf( "Values of X, Y, and Z: %d %d %d\n", X, Y, Z ); /*14*/ /* Now Show Some Typical scanf Errors */ /*15*/ printf( "Enter 1 to read into Y, 2 for Z\n" ); /*16*/ scanf( "%d", &X ); /*17*/ if( X == 1 ) /*18*/ { /*19*/ printf( "Enter Y: " ); /*20*/ scanf( "%d", Y ); /* Wrong! */ /*21*/ printf( "Y = %d\n", Y ); /*22*/ } /*23*/ else /*24*/ if( X == 2 ) /*25*/ { /*26*/ printf( "Enter Z: " ); /*27*/ scanf( "%d", Z ); /* Wrong! */ /*28*/ printf( "Z = %d\n", Z ); /*29*/ } /*30*/ return 0; /*31*/ }