#include <iostream>
int swap(int a, int b)
{
int temp = 0;
temp = a;
a = b;
b = temp;
return 0;
}
int main()
{
int num1 = 10;
int num2 = 20;
std::cout << swap(num1, num2);
return 0;
}
아 물론 답은 알고있어.. 포인터를 쓰면 되긴 하는데
왜 저 함수를 바로 출력했을 때 서로 스왑이 안되고 그냥 0으로 뜨는지 논리적으로 이해가 안가..
해당 댓글은 삭제되었습니다.
어 그러네;;;;
네 제출할 땐 저렇게 했는데 그냥 포인터 안쓰고는 답이 안나오는걸까.. 하고 고민하고있어요...
이건 포인터 문제가 아니고 함수의 반환형을 모르는거 아니냐..
너무 오래전 봤던거라.,. return a, b 했더니 10만 나오는것도 이해가 안가요..
해당 댓글은 삭제되었습니다.
예 형님 기다리고 있읍니다..
해당 댓글은 삭제되었습니다.
근데 저 swap에서 리턴을 두개를 넣는다 한들 어차피 메인 함수에 출력되기 전에 메모리가 다 날아가서 원하는 값은 안나오겠네요..
스왑안되는건 변수 num1 담는 상자랑 변수 a를 담는 상자랑 다르다고 생각하면 된다 0뜨는건 니가 return 0을 쳐 했으니깐 0뜨는거고