程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 指針作為函數參數,指針函數參數

指針作為函數參數,指針函數參數

編輯:關於C語言

指針作為函數參數,指針函數參數


演示結果1:

演示結果2:

示例代碼:

#include <iostream>


void swap(int *,int *);
void swap1(int *,int *);
void function1(void);
void displayIntArray(int *,int);
void bubbleSort(int *,int);
void function2(void);
int main(int argc, char** argv) {
    //function1();
    function2(); 
    return 0;
}

/**
    演示排序 
*/
void function2(void){
    int array[10]={9,1,2,5,6,3,4,8,7,10};
    printf("原來的數組: "); 
    displayIntArray(array,10);
    bubbleSort(array,10);
    printf("排序後數組: ");
    displayIntArray(array,10);
    
}

/**
    冒泡排序 
*/ 
void bubbleSort(int *array,int arrayLength){
    for(int i = 0;i<arrayLength;i++){
        for(int j = 1;j<arrayLength-i;j++){
            if(array[j]<array[j-1]){
                swap1(&array[j],&array[j-1]);
            }
        }
    } 
}


/**
    展示數組 
*/ 
void displayIntArray(int *a,int arrayLength){
    
    for(int i = 0;i<arrayLength;i++){
        printf("%d ",a[i]);
        /*
        五個數字 換一行 
        if((i+1)%5==0){
            printf("\n");
        }
        */
    }
    printf("\n");
    
}
/**
    演示換位
*/ 
void function1(void){
    int a = 0xffffffff;
    int b = 0xfffffffe;
    printf("a = %d,b = %d\n",a,b);
    swap1(&a,&b);
    printf("a = %d,b = %d\n",a,b);
    
    int c = 0x7fffffff;
    int d = 0x00000001; 
    printf("c = %d,d = %d\n",c,d);
    swap1(&c,&d);
    printf("c = %d,d = %d\n",c,d);
}

/**
    交換算法1 
*/ 
void swap(int *a,int *b){
    int temp = *a;
    *a = *b;
    *b = temp;
}

/**
    交換算法2 
*/
void swap1(int *a,int *b){//兩數之和大於0xffffffff 應該是也可以的。 
    *a = *a + *b;//10 9 
    *b = *a - *b;//10 1
    *a = *a - *b;
}

 

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