體會函數參數傳遞(第十七周上級任務)

來源:互聯網
上載者:User

程式1:

#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:

#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:

#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;}

結果:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.