#include <stdio.h>
int main(void)
{
int a=10;
int b=20;
int *a1=&a;
int *b1=&b;
printf(\"*a1 = %d\\n\", (*a1)++);
printf(\"*b1 = %d\\n\", (*b1)++);
*a1 = b;
*b1 = a;
printf(\"*a1 = %d\\n\", *a1);
printf(\"*b1 = %d\\n\", *b1);
getchar();
getchar();
return 0;
}
결과값
*a1 = 10
*b1 = 20
*a1 = 21
*b1 = 21
나는
*a1 = 10
*b1 = 20
*a1 = 21
*b1 = 11
을 예상했는데 왜 마지막에 b1이랑 a1이 같은 값을 갖는거지?
c언어에서는 디버깅 어떻게함?
*a1 = b; *b1 = a; 이거 설마 두 변수에 들어있는 값을 바꾸려던건 아니겠지
포인터의 위치만 바꿀려고 *a1이 b를 가리키게 ,*b1이 a를 가리키게
a1 = &b; b1 = &a; 겠지
감사합니다 오늘 첨 배워서 좀 헷갈림요 그나저나 친절하시네 ㅋ