程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 用指針變量作函數形參接收數組地址

用指針變量作函數形參接收數組地址

編輯:C++入門知識

[cpp]   /*   * Copyright (c) 2012, 煙台大學計算機學院                       * All rights reserved.                       * 文件名稱:test.cpp                       * 作者:樊露露                      * 完成日期:2012 年12月16日                       * 版本號:v1.0                     *                       * 輸入描述:無                       * 問題描述:用指針作形參給數組排序                    * 程序輸出:數組  * 問題分析:                      * 算法設計:略                       */   www.2cto.com #include<iostream>   using namespace std;   int main(){       void select_sort(int *p,int n);//定義函數       int a[10]={5,8,6,97,1,3,4,87,13,19},i;       select_sort(a,10);       //引用函數       cout<<"排序後的數組為:"<<endl;       for(i=0;i<10;i++)  //輸出函數           cout<<a[i]<<' ';       cout<<endl;       return 0;   }   //排序函數代碼   void select_sort(int *p,int n)//用指針變量作形參   {       int i,j,t,k;       //i的循環(第一層循環)從0開始,這是理所當然的。到n-2結束,因為到n-2時與n-1比較過,就不用循環到n了。       for(i=0;i<n-1;i++){           //將i賦值給k,使下面的排序從i開始,i前面已經排好的不用管了。           k=i;           //j的循環(第二層循環)從i+1開始,到n-1結束。排序要逐個的比較。           for(j=i+1;j<n;j++)               //如果後一個數大於前一個數,將j賦值給k               if(*(p+j)>*(p+k))                   k=j;。               //排序,用指針來接收數組地址。               t=*(p+k);                     *(p+k)=*(p+i);               *(p+i)=t;          }   }  

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