#include<ostream>
void Unknown( int * p, int num) ;
void HardToFollow( int * p, int q, int * num) ;
void Unknown( int * p, int num) {
int * q;
q = & num;
* p = * q + 2 ;
num = 7 ;
}
void HardToFollow( int * p, int q, int * num) {
* p = q + * num;
* num = q;
num = p;
p = & q;
Unknown( num, * p) ;
}
int main( )
{
int * q;
int trouble[ 3 ] ;
trouble[ 0 ] = 1 ;
q = & trouble[ 1 ] ;
* q = 2 ;
trouble[ 2 ] = 3 ;
HardToFollow( q, trouble[ 0 ] , & trouble[ 2 ] ) ;
Unknown( & trouble[ 0 ] , * q) ;
cout << * q << " " << trouble[ 0 ] << " " << trouble[ 2 ] ;
return 0 ;
}
I2luY2x1ZGU8b3N0cmVhbT4KCnZvaWQgVW5rbm93bihpbnQgKnAsIGludCBudW0pOwp2b2lkIEhhcmRUb0ZvbGxvdyhpbnQgKnAsIGludCBxLCBpbnQgKm51bSk7Cgp2b2lkIFVua25vd24oaW50ICpwLCBpbnQgbnVtKSB7CiAgaW50ICpxOwoKICBxID0gJm51bTsKICAqcCA9ICpxICsgMjsKICBudW0gPSA3Owp9Cgp2b2lkIEhhcmRUb0ZvbGxvdyhpbnQgKnAsIGludCBxLCBpbnQgKm51bSkgewogICpwID0gcSArICpudW07CiAgKm51bSA9IHE7CiAgbnVtID0gcDsKICBwID0gJnE7CiAgVW5rbm93bihudW0sICpwKTsKfQoKaW50IG1haW4oKQp7CiAgaW50ICpxOwogIGludCB0cm91YmxlWzNdOwoKICB0cm91YmxlWzBdID0gMTsKICBxID0gJnRyb3VibGVbMV07CiAgKnEgPSAyOwogIHRyb3VibGVbMl0gPSAzOwoKICBIYXJkVG9Gb2xsb3cocSwgdHJvdWJsZVswXSwgJnRyb3VibGVbMl0pOwogIFVua25vd24oJnRyb3VibGVbMF0sICpxKTsKICBjb3V0IDw8ICpxIDw8ICIgIiA8PCB0cm91YmxlWzBdIDw8ICIgIiA8PCB0cm91YmxlWzJdOwogIHJldHVybiAwOwogIAp9