是否可以這樣做?數組參數無變量初始化
void putAverage(float *avg, int *arrData, int size) {
int i,sum = 0;
for(i = 0;i < size;i++) {
sum += *(arrData + i);
}
*avg = sum/size;
}
int main() {
float i;
putAverage(&i, {1, 2, 3, 4, 5}, 5);
printf("%f\n",i);
}
,因爲如果我運行它,它會顯示錯誤這樣
error: expected expression before '{' token
error: too few arguments to function 'putAverage'
note: declared here
,如果有可能,請改正的,如果不是請給我做的最好的方式。
'{1,2,3,4,5}' - >'(INT []){1,2,3,4,5 }','* avg = sum/size;' - >'* avg =(float)sum/size;' – BLUEPIXY
使用'arrData [i]'比'*(arrData + i)'更簡單 - 沒有性能差異。 –