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

来源:6-4 数组作为函数参数

慕哥0928960

2017-12-08 20:57

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

写回答 关注

1回答

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

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

    慕哥0928...

    逻辑上也可以,只是取值出现了问题

    2017-12-09 12:31:44

    共 2 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926211 学习 · 20797 问题

查看课程

相似问题