c++ - 如何正确使用指针来计算平均值
问题描述
我想使用 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
当您使用字符串时,测试您的指针不指向 a很好。在这里,您有一个整数数组和一个长度,因此您不能真正使用目标点来停止增加指针。您需要len
像在第一个代码段中一样使用它,但i
您仍然可以递增指针,而不是访问数组的第 th 个元素。像这样的东西:
int compute_average(int *avgs, int len) {
int sum = 0;
for (int i = 0; i < len; i++)
sum += *(avgs++);
return (int)(sum / len);
}
推荐阅读
- algorithm - 置换外部存储器的实用算法
- angular - 我可以在请求中使用名称而不是 id 吗?
- amazon-web-services - 使用名称标签创建 ec2 服务器实例
- c# - 打印不带预览的 rdlc
- google-cloud-ml - cloud-ml 作业在运行数千步后取消
- php - 如何在没有绑定参数的情况下检查 MySQL 注入的变量
- android - 如何在 RecyclerView 适配器中添加 switch 语句?
- javascript - 如何使用按钮编辑或输入焦点 InputElement
- javascript - Promises:如何解决未知数量的 Promise
- php - 如何循环上传多个文件然后添加到我的 json 数组中?