#include <stdio.h>
void swap(int a, int b)
{
int temp = a;
a = b;
b = temp;
}
int main(void)
{
int a = 0;
int b = 0;
scanf("%d %d", &a, &b);
//swap전
printf("(swap before) a is %d\n", a);
printf("(swap before) b is %d\n", b);
swap(a,b);
//swap후
printf("(swap after) a is %d\n", a);
printf("(swap after) b is %d\n", b);
return 0;
}
이거 왜안됨? 왜안바뀌지 ㅠㅠ
void swap(int a, int b)
{
int temp = a;
a = b;
b = temp;
}
int main(void)
{
int a = 0;
int b = 0;
scanf("%d %d", &a, &b);
//swap전
printf("(swap before) a is %d\n", a);
printf("(swap before) b is %d\n", b);
swap(a,b);
//swap후
printf("(swap after) a is %d\n", a);
printf("(swap after) b is %d\n", b);
return 0;
}
이거 왜안됨? 왜안바뀌지 ㅠㅠ
콜 바이 벨류니까
콜 바이 레퍼런스로 하렴
안되는건 안되는거고 저 상태에서 되게 할려면 새로운 개념을 가져다가 써야함.
전역변수같은거?
전역변수 사용하지마세여. 웬만하면 안쓰는게 나음. ㅋ 저 상태에서는 함수에서 콜바이벨류의 문제점 설명하는거 같음. 그러므로 포인터를 배우고 오세여 ㅋ
swap함수에서 a, b 두 변수의 값을 가져다 스왑 한 다음에 그거로 땡.
돌려준게 없잖슴
포인터를 써서 a, b 두 변수 자체를 바꿔주던가 리턴값을 받아쓸수도 있긔
리턴 값이 2개가 됨? 하여튼 포인터 쓰세요 포인터 짱!
test