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

请问在这个函数中,为什么 index = i; 要放在循环的if里面不可以放到外面去,然而 arr[index]却写在外面呢

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 20:57

个回答

  • Yatolen
    2017-12-09 11:19:28

    index = i将当前符合if条件的数值的下标赋给index,如果把index = i;表达式放在if的外面,index等于每次循环i加一的值,不符合条件。