c - 使用指针的数组总和
问题描述
#include <stdio.h>
int arrsum(int *, int *);
int main(void){
int a[]={1,2,3,4,5,6,7,8,9,10};
printf("\nSum: %d\n", arrsum(a,a+9));
return 0;
}
int arrsum(int *p, int *q){
int sum;
for(;p<=q;++p){
sum+=*p;
}
return sum;
}
我想使用指针打印数组元素的总和,因为我正在学习指针。当我运行这段代码时,我得到 32811 作为输出,这是错误的。请帮忙。
解决方案
代替:
int sum;
和
int sum = 0;
推荐阅读
- symfony - 实体中的 Symfony 4 自动装配不起作用
- php - contact_us.php 没有向我的网站相关邮件地址发送电子邮件
- javascript - localStorage - 删除本地|基于键的存储值
- sql - 将选择查询结果转换为 Json
- vba - 根据像元值动态改变弧长 (Excel)
- c# - 如何在 ASP.NET Core Boilerplate Application 服务中上传包含其他数据的文件?
- angularjs - AngularJs 何时重新评估绑定函数?
- ssl - Nginx not taking into account renewed let's encrypt certificates
- javascript - 使用 AngularJS 的 JsonPlaceHolder 多个 api 调用
- javascript - 我在这个带有数组的高阶函数中做错了什么?JS