這個程序是什么意思,請大神詳細解答
#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]; ? ? ? ? ?//將數組中較大的數賦值給max
? ? ? ? ? ? index = i; ?//記錄當前索引
? ? ? ? } ? ? ? ? ? ? ? ?
? ? } ?
? ? 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]); //將數組arr1和數組arr2的第一個元素傳入函數中
? ? for(i=0;i<5;i++)
? ? {
? ? ? ? printf("%d ",arr1[i]); ? ? ? ? ? ? ? ?
? ? }
? ? return 0; ? ?
}
2015-12-05
先輸出arr1的所有值,然后arr2[0](也就是arr2第一個元素,如果是arr2[2],則是arr第三個元素)替換掉arr1中最大的值。
2015-12-01
?replaceMax(int arr[],int value)這個方法是將數組arr中的最大值賦值成value,從方法中的循環可以看出,max一直記錄最大值,
?replaceMax(arr1, arr2[0]);這是調用方法,將數組arr1和arr2的第一個值,即1作為參數,傳給方法,所以你這個程序的運行結果,應該是將arr1中的最大值變成1