我有一个关于 C++ 指针的问题:
编写一个计算浮点数据数组平均值的函数:
双平均(双* a,整数大小)
在函数中,使用指针变量而不是整数索引来遍历数组元素。
这是我的解决方案:
int main()
{
const int size = 5;
double num_array[] = {2,2,3,4,5};
double* a = num_array;
cout << average(a,size);
cout << endl;
system("PAUSE");
return 0;
}
double average(double* a,const int size)
{
double total = 0;
for (int count =0; count< size; count++){
total = total + *(a + count);
}
return total/size;
}
它工作正常,但我对平均函数指针上的 for 循环有疑问。如果我将 for 循环中的语句替换为:
total = total + a*;
(我认为我们应该这样做来将数组中的所有数字相加,但不幸的是它给了我错误的答案)
那么 *(a + count) 有什么作用呢?如果可能的话,有人可以简单介绍一下它是如何工作的吗?
提前致谢。