#includeusing namespace std;/*值传递,局部变量a和b的值确实在调用swap0时变化了,当结束时,他们绳命周期结束*/void swap0(int a, int b){ int tem = a; a = b; b = a;}/*没有初始化指针就开始用,该函数是有问题的*/void swap1(int *a, int *b){ int *tem; /*注意tem没有分配内存*/ *tem = *a; *a = *b; *b = *tem;}/*函数内只是指针的变化,指针的值没有变化*/void swap2(int *a, int *b){ int *tem; tem = a; a = b; b = tem;}/*指针传递实现两个数的交换*/void swap3(int *a, int *b){ int tem; tem = *a; *a = *b; *b = tem;}/*指针传递实现两个数的交换*/void swap4(int &a, int &b){ int tem; tem = a; a = b; b = tem;}int main(){ int num1 = 1; int num2 = 2; //swap0(num1, num2); //swap1(&num1, &num2); //swap2(&num1, &num2); //swap3(&num1, &num2); swap4(num1, num2); cout << num1 << endl << num2 << endl; return 0;}