程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 寫一個函數,將一個int型的數組做為參數傳入,使用指針返回兩個結果:最大值和最小值,int數組

寫一個函數,將一個int型的數組做為參數傳入,使用指針返回兩個結果:最大值和最小值,int數組

編輯:關於C語言

寫一個函數,將一個int型的數組做為參數傳入,使用指針返回兩個結果:最大值和最小值,int數組


今日下午研究了一下c語言中的指針問題,c語言的核心是指針,指針的核心是地址,地址的核心是內存。

#include <stdio.h>

void hanshu(int *arry,int size,int *m,int *n)
{
    *m=arry[0];
    *n=arry[1];
    for(int i=0;i<size;i++)
    {
        if(arry[i]>*m)
            *m=arry[i];
        if(arry[i]<*n)
            *n=arry[i];
    }
}

int main(int argc, const char * argv[]) {。


    int a[]={1,2,3,4,5,6};//定義一個六個數據的數組
    int max;//存放最大值
    int min;//存放最小值
    hanshu(a, 6, &max, &min);//函數傳送數組,並將最大值,最小值的地址傳送
    printf("The maxnumber is %d\n",max);
    printf("The minnumber is %d\n",min);
    return 0;
}

在main函數中定義了一個數組,並且定義了一個max和一個min來保存數組中的最大值和最小值。

在函數hanshu中傳遞的值包括數組的首地址,數組的長度,以及最大值的地址和最小值的地址。在void hanshu中,先為最大值和最小值賦一個初值。並使用一個for循環,來遍歷數組中的所有值,並將最大的值賦給*m,最小值賦給*n。這時,最大值的指針指向的是最大值的地址,最小值的指針指向的是最小值的地址。完成運算

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