标签:
#include <iostream> using namespace std; //错误方法, //这里是把主函数的a, b进行复制然后交换 //函数执行完毕后释放复制的a, b, //而没有保存a,b交换后的值 void fun_one(int x, int y) { int temp; temp = y; y = x; x = temp; } //正确的方法之一 //使用指针的交换 void fun_two(int *x, int *y) { int c = 0; c = *x; *x = *y; *y = c; } //正确方法二(个人推荐这个) //引用参数 void fun_three(int &x, int &y) { int c; c = y; y = x; x = c; } int main() { int a = 10, b = 8; fun_one(a, b); cout<<"使用方法一, 交换结果如下:"<<endl; cout<<"a = "<<a<<endl; cout<<"b = "<<b<<endl; fun_two(&a, &b); cout<<"使用方法二,交换结果如下: "<<endl; cout<<"a = "<<a<<endl; cout<<"b = "<<b<<endl; fun_one(a, b); cout<<"使用方法三, 交换结果如下:"<<endl; cout<<"a = "<<a<<endl; cout<<"b = "<<b<<endl; return 0; }
如图:
这里可以第一个方法错误:
标签:
原文地址:http://blog.csdn.net/u012965373/article/details/46581065