#include <stdio.h>

int main(void)
{
        int a=10;
        int b=20;
        int *p1=&a;
        int *p2=&b;
        int temp;

        (*p1)--;
        (*p2)--;

        *p1=&b;
        *p2=&a;

        printf("%d n", *p2);
        printf("%d n", *p1);

        return 0;
}

#include <stdio.h>

int main(void)
{
        int a=10;
        int b=20;
        int *p1=&a;
        int *p2=&b;
        int temp;

        (*p1)--;
        (*p2)--;

        temp = a;
        a = b;
        b = temp;

        printf("%d n", *p2);
        printf("%d n", *p1);

        return 0;
}

#include <stdio.h>

int main(void)
{
        int a=10;
        int b=20;
        int *p1=&a;
        int *p2=&b;
        int *temp;

        (*p1)--;
        (*p2)--;

        temp = p1;
        p1 = p2;
        p2 = temp;

        printf("%d n", *p2);
        printf("%d n", *p1);

        return 0;
}

포인터 p1, p2-> a, b 값 받고 출력은 포인터가 가르키는거 반대로 p1,p2 -> b, a이렇게 되게하는건데

1, 2번 안되고 3번처럼 해야 되는데

왜 1번2번이 안되는건지 설명 좀 해주질 수 있는분..