프로토타입을
void swap(int x, int y) 요렇게 줬길래
void swap(int x, int y)
{
int *X, *Y, tmp;
X = &x;
Y = &y;
tmp = *X;
*X = *Y;
*Y = tmp;
}
요렇게 선언했는디 안바뀌네유
매개변수를 꼭 포인터로 해줘야하나유??
int main(void)
{
int a = 100, b = 200;
printf("a=%d b=%d\n", a, b);
swap(a, b);
printf("a=%d b=%d\n", a, b);
return 0;
}
메인은 이런디........
당연히 매개변수를 포인터로 호출해야지..
X = &x;의 x는 main의 x가 아니라 swap(int x, ...)의 x임
지역변수와 스택, call-by-value 에 대해 공부해라.