#define SIZE 5
int array(int[]);
int main()
{
int my_array[SIZE];
int i,highest;
for(i=0;i<SIZE;i++)
{
printf("enter element %d of the array",i);
scanf("%d",&my_array[i]);
}
highest=array(my_array);
}//end main
好像我正确地传递了数组但是当我到达我的if语句时,我得到多个错误声明 类型的大小&#39; int(int *)&#39;函数数组中未知或为零(int *)
int array(int my_array[])
{
int i,largest;
largest=my_array[0];
for(i=0;i<SIZE;i++)
{
if(array[i]>largest)
{
largest=array[i];
}//end if
}//end for
return largest;
}//end array
答案 0 :(得分:1)
看起来你刚刚写了一个错字。 替换
if(array[i]>largest)
{
largest=array[i];
}//end if
通过
if(my_array[i]>largest)
{
largest=my_array[i];
}//end if
它应该有效!
答案 1 :(得分:0)
你有一些命名问题,就是这样。在函数中将数组名称array
更改为my_array
,因为函数和数组的名称相同。:
#include <stdio.h>
#define SIZE 5
int array_func(int[]);
int main()
{
int my_array[SIZE];
int i,highest;
for(i=0; i<SIZE; i++) {
printf("enter element %d of the array: ",i);
scanf("%d",&my_array[i]);
}
highest=array_func(my_array);
printf("%d\n", highest);
return 0;
}//end main
int array_func(int my_array[])
{
int i,largest;
largest=my_array[0];
for(i=0; i<SIZE; i++) {
if(my_array[i]>largest) {
largest=my_array[i];
}//end if
}//end for
return largest;
}//end array
答案 2 :(得分:0)
在你的函数中你写&#34; array&#34;而不是&#34; my_array&#34;这是您设置的参数,如定义函数时在括号中所示。您可以为参数指定任何名称,但不得在函数内使用其他名称。