6-4數(shù)組作為函數(shù)參數(shù)
//以下注釋,請(qǐng)根據(jù)程序的運(yùn)行順序查看,此程序目的是替換指定數(shù)組中的最大元素 //看了各路大神的指正,以下更新之后的答案,跟著程序運(yùn)行一步一步的走,并且還看不懂的同學(xué)私信,一起探討 #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(比較后不在執(zhí)行) ????{ ????????if(arr[i]>max)//41>10,3>41,12>41,22>41 ????????{ ????????????max=arr[i];//max=41,不執(zhí)行,不執(zhí)行,不執(zhí)行?????//將數(shù)組中較大的數(shù)賦值給max ????????????index?=?i;//index=1,不執(zhí)行,不執(zhí)行,不執(zhí)行 ????????}???????????????? ????}?? ????arr[index]?=?value;//arr[index]==arr[1]==41=(賦值)1 }//這個(gè)函數(shù)運(yùn)行完之后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;???? }
謝謝大神解惑,解釋的越詳細(xì)越好,謝謝大神
2016-11-01
2016-11-01
//以下注釋,請(qǐng)根據(jù)程序的運(yùn)行順序查看,此程序目的是替換指定數(shù)組中的最大元素
#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(比較后不在執(zhí)行)
? ? {
? ? ? ? if(arr[i]>max)//41>10,3>41,12>41,22>41
? ? ? ? {
? ? ? ? ? ? max=arr[i];//max=41,不執(zhí)行,不執(zhí)行,不執(zhí)行 ? ? //將數(shù)組中較大的數(shù)賦值給max
? ? ? ? ? ? index = i;//index=1,不執(zhí)行,不執(zhí)行,不執(zhí)行
? ? ? ? } ? ? ? ? ? ? ? ?
? ? } ?
? ? arr[index] = value;//arr[index]==arr[1]==10=(賦值)1
}//這個(gè)函數(shù)運(yùn)行完之后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; ? ?
}