我想使用avgs作为指针,但是如何修改下面的代码以正确使用它?给定起始指针和长度,我正在计算一个int数组的平均值。
int compute_average(int *avgs, int len) {
int sum = 0;
for (int i = 0; i < len; i++)
sum += avgs[i];
return (int)(sum / len);
}
我试图这样写,但无法正常工作:
do {sum += *avgs;}
while(*(avgs++)!='\0');
答案 0 :(得分:-2)
在处理字符串时,测试指针是否未指向\0
会很好。在这里,您有一个整数数组和一个长度数组,因此您无法真正使用目标点来停止递增指针。您需要像在第一个代码段中一样使用该len
,但是不必访问数组的第i
个元素,而是可以增加指针。像这样:
int compute_average(int *avgs, int len) {
int sum = 0;
for (int i = 0; i < len; i++)
sum += *(avgs++);
return (int)(sum / len);
}