问答详情
源自:6-4 数组作为函数参数

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的呢?? 求大神解答!!

提问者:慕哥7958350 2017-02-22 10:29

个回答

  • windforyou
    2017-02-22 17:37:57
    已采纳


    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[]中的每一个值