/* ----------------------------------------------- ** Self-test exercise 7: Trace execution. */ #include int y = 2, z = 3; /* Global variables! */ int func1( int* x, int* y ); void func2( int* x ) { *x = y; y = z; z = *x; } void main( void ) { int x = func1( &y, &x ); printf( "X = %i Y = %i Z = %i\n", x, y, z ); } int func1( int* x, int* y ) { *y = z + 1; *x = *y; func2( y ); z = *x + 2; return *y; }