C++
Swap
khon98
2021. 1. 22. 13:15
#include <iostream>
using namespace std;
void swap(int*, int*);
void swap(char*, char*);
void swap(double*, double*);
int main(int argc, const char * argv[]) {
int i = 123, j = 456;
char a = 'A', b = 'B';
double x = 123.45, y = 678.90;
cout << " swap 이전 \n";
cout << " i = " << i << ", j = " << j << endl;
cout << " a = " << a << ", b = " << b << endl;
cout << " x = " << x << ", y = " << y << '\n' << endl;
swap(&i, &j);
swap(&a, &b);
swap(&x, &y);
cout << " swap 이후 \n";
cout << " i = " << i << ", j = " << j << endl;
cout << " a = " << a << ", b = " << b << endl;
cout << " x = " << x << ", y = " << y << endl;
return 0;
}
void swap(int *a, int *b) {
int t = *a;
*a = *b;
*b = t;
}
void swap(char *a, char *b) {
char t = *a;
*a = *b;
*b = t;
}
void swap(double *a, double *b) {
double t = *a;
*a = *b;
*b = t;
}
실행 결과
swap 이전
i = 123, j = 456
a = A, b = B
x = 123.45, y = 678.9
swap 이후
i = 456, j = 123
a = B, b = A
x = 678.9, y = 123.45