这个函数调用是不是有问题?????

来源:百度知道 编辑:UC知道 时间:2024/05/27 19:06:52
void getoddarray(int arr[],int n)
{
int i;
printf("请连续输入正整数,直到输入的数中有%d个奇数:\n",n);
for(i=0;i<n;i++)
{
printf("请输入第%d个奇数:\n",i+1);
arr[i]=getodd();/////////
}
}

void main(){

int arrodd[5];
int m;
getoddarray(arrodd,5);
m=max(arrodd,5);
printf("最大的奇数为:%d\n",m);
}

加/////////那行总报错 说无法从void 转换为int 什么意思啊?/??
这是程序的一不分,看看是不是有什么问题 应该怎么改

可能是因为你定义的getadd()函数返回值是空类型的,也就是不返回任何数值的,而你定义的arr[]却是整型的,所以就会报错。

getodd()你是不是定义成void getodd()?如果是这样,它就不会返回一个数,但你貌似要给a[]用getodd来赋个值,当然不会成功,可以定义int getodd(){
...

retrun ( 要给a[]的变量);
}

试试行不。