#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; ? ?}
1 回答

噼喱啪啦
TA貢獻(xiàn)392條經(jīng)驗(yàn) 獲得超170個(gè)贊
一般變量形參,傳入的是個(gè)數(shù)值,形參是臨時(shí)開辟出來的新變量,用完就拋棄,無法完成交換。
數(shù)組形參,傳入的是地址,此時(shí),形參和實(shí)參共享同一段內(nèi)存,所以能完成交換
同理,指針傳入的是地址,也能完成交換。
- 1 回答
- 0 關(guān)注
- 1038 瀏覽
添加回答
舉報(bào)
0/150
提交
取消