#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; }
1 回答
噼喱啪啦
TA贡献392条经验 获得超170个赞
一般变量形参,传入的是个数值,形参是临时开辟出来的新变量,用完就抛弃,无法完成交换。
数组形参,传入的是地址,此时,形参和实参共享同一段内存,所以能完成交换
同理,指针传入的是地址,也能完成交换。
- 1 回答
- 0 关注
- 985 浏览
添加回答
举报
0/150
提交
取消