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

当我自己用vc写了一次是出现了问题

#include <stdio.h>

void replace(int arr[],int value)

{

int max = arr[0];

int index;

int i;

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

{

if(max<arr[i])

{

max = arr[i];

index = i;

}

}

arr[index]=value;

}

int main()

{

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

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

int i;

replace(arr1[],arr2[0]);

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

{

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

}

getchar();

return 0;

}



下面是报错 实在找不到了 好烦

--------------------Configuration: 数组作为函数参数 - Win32 Debug--------------------

Compiling...

sourcefile.cpp

E:\我的C程序\数组作为函数参数\sourcefile.cpp(22) : error C2059: syntax error : ']'

E:\我的C程序\数组作为函数参数\sourcefile.cpp(23) : error C2143: syntax error : missing ';' before ')'

E:\我的C程序\数组作为函数参数\sourcefile.cpp(23) : error C2143: syntax error : missing ';' before ')'

执行 cl.exe 时出错.


提问者:Selfdeceiving 2015-08-06 21:38

个回答

  • 来虐小学生
    2015-08-07 09:33:25

    我并不知道你这程序具体目的,我只能找出语法错误来

    replace(arr1[],arr2[0]);

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

    这两行改为

    replace(arr1,arr2[0]);

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

  • AAnonymous
    2015-08-06 21:52:05

    都是语法错误 syntax error,楼主好好加油

    22行,数组作参数直接写数组名就可以了,把'[]'去掉,因为数组作形参会退化为指针,这里实际传的是数组首地址,即第一个元素的地址

    23行,for循环中间是';'相隔的,里面是三条语句,你写的 ','