Selfdeceiving
2015-08-06 21:38
#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 时出错.
我并不知道你这程序具体目的,我只能找出语法错误来
replace(arr1[],arr2[0]);
for( i=0,i<5,i++ )
这两行改为
replace(arr1,arr2[0]);
for(i=0;i<5;i++)
都是语法错误 syntax error,楼主好好加油
22行,数组作参数直接写数组名就可以了,把'[]'去掉,因为数组作形参会退化为指针,这里实际传的是数组首地址,即第一个元素的地址
23行,for循环中间是';'相隔的,里面是三条语句,你写的 ','
C语言入门
926212 学习 · 20797 问题
相似问题