为了账号安全,请及时绑定邮箱和手机立即绑定

6-4数组作为函数参数// 数组与数组之间的元素是如何替换的??

将arr1和arr2[0]传进函数中,函数的数组结果应该是:arr[]=10,1,3,12,22     为什么输出的数组arr1[i]会是=10,1,3,12,22  的呢    不是arr[]=10,1,3,12,22  中的arr[1]才是=1的吗?? 其中   arr[1]=1   是如何替换   arr1[1]中的41的呢?? 求大神解答!!

正在回答

1 回答


void replaceMax(int arr[],int value) 构造replace函数是为了找出arr[]中最大值与value交换

主函数调用replaceMax(arr1[],arr2[0])函数,即交换了arr1[]中的最大值41和arr2[0]=1,所以主函数调用了replaceMax之后,arr1[]={10,1,3.12.22},arr2[0]=41,arr1[]和arr2[0]为函数的实参,arr[]和value为形参,只是声明不做事的

  replaceMax(arr1[] , arr2[0] ); //将数组arr1和数组arr2的第一个元素传入函数中

    for(i=0;i<5;i++)

    {

        printf("%d ",arr1[i]);                

    }

程序从main开始,然后去调用函数,然后回来,通过循环输出arr1[]中的每一个值

3 回复 有任何疑惑可以回复我~
#1

慕哥7958350 提问者

非常感谢!大神!!
2017-02-23 回复 有任何疑惑可以回复我~
#2

_zephyr 回复 慕哥7958350 提问者

replaceMax( arr1 , arr2[0] ); //将数组arr1和数组arr2的第一个元素传入函数中 这里为什么用arr1不用arr1[]
2017-02-25 回复 有任何疑惑可以回复我~
#3

慕哥7958350 提问者 回复 _zephyr

我的理解是replaceMax( arr1 , arr2[0] ); arr1[ ] 是把 [ ] 里的参数传进去。 而arr1是把数组里的所有参数传进去,每一个参数都运行一遍。
2017-02-28 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

6-4数组作为函数参数// 数组与数组之间的元素是如何替换的??

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信