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

为什么这里需要引入index的值而不能直接用arr[i]=value呢

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;
}

提问者:慕哥0928960 2017-12-08 08:53

个回答

  • qq_冰韧_0
    2017-12-23 00:28:23

    因为在for循环中把arr[i]的值赋给了max,写在for循环的外面,所以具体i的值不知道,因此应该重新设一个值代表arr[i],才能输出题目要求的值

  • Bethany
    2017-12-09 15:32:25

    因为在for循环中把arr[i]的值赋给了max,所以在重新设一个值代表arr[i],下面才能输出