數(shù)組做函數(shù)參數(shù)
#include <stdio.h>
void replaceMax(int arr[],int value)
{
??? int max = arr[0];
??? int index = 0;
??? int i;
??? for(i=1;i<5;i++)
??? {
??????? if(arr[i]>max)
??????? {
??????????? max=arr[i];????????? //將數(shù)組中較大的數(shù)賦值給max
??????????? index = i;? //記錄當(dāng)前索引
??????? }???????????????
??? }?
??? arr[index] = value;
}
int main()
{
??? int arr1[] = {10,41,3,12,22};
??? int arr2[] = {1,2,3,4,5};
??? int i;
??? replaceMax(arr1, arr2[0] ); //將數(shù)組arr1和數(shù)組arr2的第一個(gè)元素傳入函數(shù)中
??? for(i=0;i<5;i++)
??? {
??????? printf("%d ",arr1[i]);???????????????
??? }
??? return 0;???
}
把a(bǔ)rr1改為arr1[]為什么不行
2018-03-27
arr1[]這樣單獨(dú)寫是不正確的, 要在前面加上數(shù)據(jù)類型才算完整。比如 int arr1[]意思就是int類型的數(shù)組。[]代表是數(shù)組的意思,如果不加,就代表是一個(gè)int類型的值。
不論是int數(shù)組(int arr1[] ={1,2})還是普通的int(int arr = 1),在作為形參被調(diào)用時(shí),傳入的都是該對象的引用名,即arr1。