|
두 수를 바꾸는 간단한 함수인데요..
#include<iostream>
using std::cin;
using std::cout;
using std::endl;
int mySwap(int n1, int n2);
main()
{
int n1,n2;
cout<<"\n정수 두개 입력 : \n";
cin>>n1>>n2;
mySwap(n1,n2);
cout<<"정수 교환 결과는 "<<n1<<", "<<n2<<"입니다.\n";
}
int mySwap(int n1, int n2)
{
int i;
i = n1;
n1 = n2;
n2 = i;
cout<<"dddddddddddddddddddd\n";
return n1;
return n2;
}
mySwap함수 내부의 cout<<"ddddddddddd\n";
이거는 함수호출이 되나 확인해보려고 써논거구요
mySwap 안에있는거만 빼서
따로 소스파일을 만들었거든요
이런식으로..
main()
{
int i,n1,n2;
n1 = 3;
n2 = 4;
i = n1;
n1 = n2;
n2 = i;
cout<<n1<<endl;
cout<<n2<<endl;
}
이렇게 했을때는 두개가 바뀌어서 출력이 잘됐는데
처음에 했던것처럼 두 정수를 입력하고 함수를 호출할경우는
바뀌지 않고 출력이 되서요..
함수는 호출이 되고 두 수를 바꾸는과정이 잘못된것 같지도 않고
리턴이 안되나해서 return n1,n2 ; 이렇게 해봤는데도
안되구...
질문 수준이 c공부나 더해야하는건 아는데
어떻게 하다보니까 c대충 한번 훑고 c++하고있네요..ㅠㅠ
여튼...왜 입력한 두 정수가 바뀌지 않는지
대체 이해가 안되서요..
고민고민하다 적어봅니다
부탁드릴게요..^^;
|