#include <iostream>
#include <stdio.h>
#include <cstdint>
using namespace std;
void print_var(char name, int& value) {
uintptr_t addr = reinterpret_cast<uintptr_t>(&value);
printf("%c value = %d, address = %p\n", name, value, addr);
}
void my_proc(int& b) {
print_var('b', b);
b = 7;
}
int main() {
int a = 5;
print_var('a', a);
my_proc(a);
printf("after my_proc\n");
print_var('a', a);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUgPGNzdGRpbnQ+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBwcmludF92YXIoY2hhciBuYW1lLCBpbnQmIHZhbHVlKSB7Cgl1aW50cHRyX3QgYWRkciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PigmdmFsdWUpOwoJcHJpbnRmKCIlYyB2YWx1ZSA9ICVkLCBhZGRyZXNzID0gJXBcbiIsIG5hbWUsIHZhbHVlLCBhZGRyKTsKfQoKdm9pZCBteV9wcm9jKGludCYgYikgewogICAgcHJpbnRfdmFyKCdiJywgYik7CiAgICBiID0gNzsKfQogCmludCBtYWluKCkgewogICAgaW50IGEgPSA1OwogICAgcHJpbnRfdmFyKCdhJywgYSk7CiAgICBteV9wcm9jKGEpOwogICAgcHJpbnRmKCJhZnRlciBteV9wcm9jXG4iKTsKICAgIHByaW50X3ZhcignYScsIGEpOwogICAgcmV0dXJuIDA7Cn0=