#include <stdio.h>
void swap_pointer(int *pp[]);
int main(void)
{
int a = 1;
int b = 2;
int *p[2] = {&a, &b};
int size = sizeof(p) / sizeof(p[0]);
for (int i = 0; i < size; i++) {
printf("before: p[%d] : %p\n", i
, p
[i
]); }
swap_pointer(p);
for (int i = 0; i < size; i++) {
printf("after : p[%d] : %p\n", i
, p
[i
]); }
return 0;
}
void swap_pointer(int *pp[])
{
int *temp;
temp = pp[0];
pp[0] = pp[1];
pp[1] = temp;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp2b2lkIHN3YXBfcG9pbnRlcihpbnQgKnBwW10pOwoKaW50IG1haW4odm9pZCkKewogICAgaW50IGEgPSAxOwogICAgaW50IGIgPSAyOwoKICAgIGludCAqcFsyXSA9IHsmYSwgJmJ9OwoKICAgIGludCBzaXplID0gc2l6ZW9mKHApIC8gc2l6ZW9mKHBbMF0pOwoKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgc2l6ZTsgaSsrKSB7CiAgICAgICAgcHJpbnRmKCJiZWZvcmU6IHBbJWRdIDogJXBcbiIsIGksIHBbaV0pOwogICAgfQoKICAgIHN3YXBfcG9pbnRlcihwKTsKCiAgICBmb3IgKGludCBpID0gMDsgaSA8IHNpemU7IGkrKykgewogICAgICAgIHByaW50ZigiYWZ0ZXIgOiBwWyVkXSA6ICVwXG4iLCBpLCBwW2ldKTsKICAgIH0KCiAgICByZXR1cm4gMDsKfQoKdm9pZCBzd2FwX3BvaW50ZXIoaW50ICpwcFtdKQp7CiAgICBpbnQgKnRlbXA7CgogICAgdGVtcCA9IHBwWzBdOwogICAgcHBbMF0gPSBwcFsxXTsKICAgIHBwWzFdID0gdGVtcDsKfQ==