我有以下功能:
int sum(int *a, int size) {
int sum;
int i;
for(i = 0; i < size; i++) {
sum += a[i];
}
return sum; /* Change the return value */
}
和
double average(int *a, int size) {
int summation = sum(*a, size);
double result = (double) summation/size;
return result; /* Change the return value */
}
当我编译时,我得到错误:传递参数使得指针来自整数而没有强制转换
我应该改变什么?
答案 0 :(得分:1)
在average
函数中,不要将*a
传递给sum
,而只传递a
,因为它已经是指针。
答案 1 :(得分:0)
由于a是一个数组,只需传递一个将给出数组的基址,所以只需在参数中传递一个。