//交换两个数的三种方法
void m1(int m, int n) {
int num = m;
m = n;
n = num;
printf("%d %d\n", m, n);
}
void m2(int &m, int &n) { //这个是c++的引用
int num;
num = m;
m = n;
n = num;
}
void m3(int* m, int* n) {
int num = *m;
*m = *n;
*n = num;
printf("%d %d\n", *m, *n);
}
void m4(int* m, int* n) {
int* num;
num = m;
m = n;
n = num;
printf("%d %d\n", *m, *n);
}
int main()
{
int a, b;
scanf("%d %d", &a, &b);
m1(a, b);//实参没有进行交换
m2(a, b);//实参进行了交换--这个是c++的引用
int* p1 = &a;
int* p2 = &b;
m3(p1, p2);
m4(p1, p2);//将地址进行交换
return 0;
}
这两天学数据结构,理论偏多,明天练练顺序表。