程序1: [cpp] #include <iostream> using namespace std; void jiaohuan(int x,int y);//定義交換函數 int main() { int a,b; cin>>a>>b; if(a<b) jiaohuan(a,b);//調用交換函數 //輸出a,b的值,因為在交換函數中改變的是形參的值,未改變實參a,b的值,所以輸出的還是原來的值 cout<<"a,b="<<a<<","<<b; return 0; } //交換函數的代碼 void jiaohuan(int x,int y){ int t; t=x; x=y; y=t; } 結果: 程序2: [cpp] #include <iostream> using namespace std; void jiaohuan(int *x,int *y);//定義交換函數 int main() { int a,b; cin>>a>>b; if(a<b) jiaohuan(&a,&b);//調用交換函數 //因為交換函數調用的為a,b的地址值,函數可以通過改變地址值來改變實參的值,從而使a,b交換。 cout<<"a,b="<<a<<","<<b; cout<<endl; return 0; } //交換函數的代碼 void jiaohuan(int *x,int *y){ int t; t=*x; *x=*y; *y=t; } 結果: 程序3: [cpp] #include <iostream> using namespace std; void jiaohuan(int &x,int &y);//定義交換函數 int main() { int a,b; cin>>a>>b; if(a<b) jiaohuan(a,b);//調用交換函數 //函數調用的是a,b的引用,通過在函數內交換a,b的引用來交換a,b的值。 cout<<"a,b="<<a<<","<<b; cout<<endl; return 0; } //交換函數的代碼 void jiaohuan(int &x,int &y){ int t; t=x; x=y; y=t; } 結果: