6-4数组作为函数参数
//以下注释,请根据程序的运行顺序查看,此程序目的是替换指定数组中的最大元素 //看了各路大神的指正,以下更新之后的答案,跟着程序运行一步一步的走,并且还看不懂的同学私信,一起探讨 #include <stdio.h> void a(int arr[],int value)//a(arr1[5],1) { int max = arr[0];//max==arr[0]==arr1[0]==10 int index = 0; int i; for(i=1;i<5;i++)//1,2,3,4,5(比较后不在执行) { if(arr[i]>max)//41>10,3>41,12>41,22>41 { max=arr[i];//max=41,不执行,不执行,不执行 //将数组中较大的数赋值给max index = i;//index=1,不执行,不执行,不执行 } } arr[index] = value;//arr[index]==arr[1]==41=(赋值)1 }//这个函数运行完之后arr1[]={10,1,3,12,22} int main() { int arr1[5] = {10,41,3,12,22}; int arr2[5] = {1,2,3,4,5}; int i; a(arr1,arr2[0]); for(i=0;i<5;i++) { printf("%d ",arr1[i]); } return 0; }
谢谢大神解惑,解释的越详细越好,谢谢大神