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

我自己写了一遍,但是运行失败,完全看不出来哪里错误,拜求大神了

#include <stdio.h>

int i;

void replacemax(int arr[],int value)

{

    int max=arr[0];

    int index=0;

    for(i=1;i<5;i++)

    {

        if(arr[i]>max)

        {

            max=arr[i];

            index=i;

        }

    }

    arr(index)=value;

}


int main()

{

    int arr1[] = {10,41,3,12,22};

    int arr2[] = {1,2,3,4,5};

    replacemax(arr1,arr2[0]);

    for(i=0;i<5;i++)

    {

        printf("%d",arr1[i]);

    }

    return 0;

}


输出的结果是:

hello.c: In function 'replaceMax':
hello.c:15:5: error: called object 'arr' is not a function or function pointer
     arr(index)=value;
     ^~~
hello.c:3:21: note: declared here
 void replaceMax(int arr[],int value)


提问者:坚持下去灬 2019-09-05 14:57

个回答

  • 小小疾飞
    2019-09-05 16:23:40
    已采纳

    arr(index)=value;

    arr[index]=value;