#include <stdio.h>
void swap(int *a, int *b) {
int temp;
temp = *a;
*a = *b;
*b = temp;
}
int main(void) {
int x = 10;
int y = 20;
// swap関数の実行前
printf("xの値:%d, xのアドレス:%p\n", x
, (void *)&x
); printf("yの値:%d, yのアドレス:%p\n", y
, (void *)&y
);
// swap関数を実行
swap(&x, &y);
// swap関数の実行後
printf("xの値:%d, xのアドレス:%p\n", x
, (void *)&x
); printf("yの値:%d, yのアドレス:%p\n", y
, (void *)&y
);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp2b2lkIHN3YXAoaW50ICphLCBpbnQgKmIpIHsKICAgIGludCB0ZW1wOwogICAgdGVtcCA9ICphOwogICAgKmEgPSAqYjsKICAgICpiID0gdGVtcDsKfQoKaW50IG1haW4odm9pZCkgewogICAgaW50IHggPSAxMDsKICAgIGludCB5ID0gMjA7CgogICAgLy8gc3dhcOmWouaVsOOBruWun+ihjOWJjQogICAgcHJpbnRmKCLjgJBzd2Fw5a6f6KGM5YmN44CRXG4iKTsKICAgIHByaW50ZigieOOBruWApO+8miVkLCB444Gu44Ki44OJ44Os44K577yaJXBcbiIsIHgsICh2b2lkICopJngpOwogICAgcHJpbnRmKCJ544Gu5YCk77yaJWQsIHnjga7jgqLjg4njg6zjgrnvvJolcFxuIiwgeSwgKHZvaWQgKikmeSk7CgogICAgLy8gc3dhcOmWouaVsOOCkuWun+ihjAogICAgc3dhcCgmeCwgJnkpOwoKICAgIC8vIHN3YXDplqLmlbDjga7lrp/ooYzlvowKICAgIHByaW50ZigiXG7jgJBzd2Fw5a6f6KGM5b6M44CRXG4iKTsKICAgIHByaW50ZigieOOBruWApO+8miVkLCB444Gu44Ki44OJ44Os44K577yaJXBcbiIsIHgsICh2b2lkICopJngpOwogICAgcHJpbnRmKCJ544Gu5YCk77yaJWQsIHnjga7jgqLjg4njg6zjgrnvvJolcFxuIiwgeSwgKHZvaWQgKikmeSk7CgogICAgcmV0dXJuIDA7Cn0=