程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 自定義函數實現 實際參數的交換

自定義函數實現 實際參數的交換

編輯:C++入門知識

  [cpp]   /*  * 程序的版權和版本聲明部分  * Copyright (c)2012, 煙台大學計算機學院學生  * All rightsreserved.  * 文件名稱: x.cpp  * 作者:徐本錫  * 完成日期: 2012年 12 月20  日  * 版本號: v1.0  * 輸入描述:    * 問題描述:自定義函數  的實際參數  的交換    * 程序輸出:    */   //我的代碼:   #include <iostream>   using namespace std;   #include <iostream>   using namespace std;   void jiaohuan(int x, int y);   int main(void)   {       int a,b;       cin>>a>>b;       if (a<b) jiaohuan(a, b);       cout<<"a,b="<<a<<","<<b;       return 0;   }   void jiaohuan(int x, int y)   {       int t;       t=x;       x=y;       y=t;   }     分析:           自定義函數明顯是為了實現兩個參數的交換,當a<b時調用函數,是為了先輸出兩個數中較大的值,而實踐是檢驗真理的唯一標准。由實踐知,並沒有實現兩個實際參數的交換。                   由於實際參數和形式參數被分別分配空間儲存,所以實際參數賦值給形式參數,形式參數交換後,自定義函數結束,形式參數儲存空間釋放。而實際參數並未改變。                  [cpp]   /*  * 程序的版權和版本聲明部分  * Copyright (c)2012, 煙台大學計算機學院學生  * All rightsreserved.  * 文件名稱: x.cpp  * 作者:徐本錫  * 完成日期: 2012年 12 月20  日  * 版本號: v1.0  * 輸入描述:      * 問題描述:自定義函數  的實際參數  的交換          * 程序輸出:        */   //我的代碼:      #include <iostream>   using namespace std;   void jiaohuan(int *x, int *y);   int main(void)   {       int a,b;       cin>>a>>b;       if (a<b) jiaohuan(&a, &b);       cout<<"a,b="<<a<<","<<b;       return 0;   }   void jiaohuan(int *x, int *y)   {       int t;       t=*x;       *x=*y;       *y=t;   }            分析:             上個程序實現了交換,因為指針作為實際參數和形式參數所指的是同一個內存區域,當形式參數所指的值改變時,實際參數所指的值會隨之變化。   [cpp]   /*  * 程序的版權和版本聲明部分  * Copyright (c)2012, 煙台大學計算機學院學生  * All rightsreserved.  * 文件名稱: x.cpp  * 作者:徐本錫  * 完成日期: 2012年 12 月20  日  * 版本號: v1.0  * 輸入描述:      * 問題描述:自定義函數  的實際參數  的交換          * 程序輸出:        */   //我的代碼:   #include <iostream>   using namespace std;   void jiaohuan(int &x, int &y);   int main(void)   {       int a,b;       cin>>a>>b;       if (a<b) jiaohuan(a, b);       cout<<"a,b="<<a<<","<<b;       return 0;   }   void jiaohuan(int &x, int &y)   {       int t;       t=x;       x=y;       y=t;   }      

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved