函数间的参数传递
值调用:
//交换两个变量的值(不成功) #include<iostream> using namespace std; void myswap(int x, int y) { int tmp = x; x = y; y = tmp; } int main() { int a = 2, b = 3; cout<<"Before exchange : a = "<<a<<", b = "<<b<<endl; myswap(a, b); cout<<"After exchange : a = "<<a<<", b = "<<b<<endl; return 0; }
引用调用:
//交换两个变量的值(成功) #include<iostream> using namespace std; void myswap(int &x, int &y) { int tmp = x; x = y; y = tmp; } int main() { int a = 2, b = 3; cout<<"Before exchange : a = "<<a<<",b = "<<b<<endl; myswap(a, b); cout<<"After exchange : a = "<<a<<",b = "<<b<<endl; return 0; }
地址调用:
//交换两个变量的值(成功) #include<iostream> using namespace std; void myswap(int *x, int *y) { int temp = *x; *x = *y; *y = temp; } int main() { int a = 2, b = 3; cout<<"Before exchange : a = "<<a<<",b = "<<b<<endl; myswap(&a, &b); cout<<"After exchange : a = "<<a<<",b = "<<b<<endl; return 0; }