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

啊啊啊第二个数为什么是1啊


???/?

提问者:慕后端6597853 2018-10-27 10:52

个回答

  • 慕工程0281360
    2018-11-13 20:51:04

    因为arr2[0]=1,替换的arr1[]数组中的最大值,arr1中的最大值是第二个元素,所以被替换掉成为1了。

  • 慕粉2104302525
    2018-10-28 08:00:40

    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;

    划线部分就是循环比较,如果比MAX大就赋值给MAX,下一个数组中的值再次比较,历遍数组arr找出最大值,并记录数组当前下标index,最后把value替代数组arr中的最大值。因为arr1数组被当做参数整个载入上述函数,实际上历遍的是arr1数组,并把arr2数组0号数据替换arr1数组中的最大值。

  • Winooo
    2018-10-27 18:34:06

    能问具体点吗?。。。。。。