#include <stdio.h> int sump(int *, int *); int main(void) { int array[] = {1, 3, 4, 7, 8}; printf("total=%d\n", sump(array,array+5)); return 0; } int sump(int * start, int * end) { int total = 0; while(start<end) total += *start++; return total; }
sump方法说明:
1 数组名多持有的指针是该数组的首地址
2 total += *start++;start指针的原型是int数组,每++一次移动一个int字节的长度,也就是取array数组下一个元素
++运算符和*具有同等优先级,同等优先级的运算符从右向左,所以是先++然后再*取值,最终移动到数组最后一个元素实现累加求和。
本博客文章绝大多数为原创,少量为转载,代码经过测试验证,如果有疑问直接留言或者私信我。
创作文章不容易,转载文章必须注明文章出处;如果这篇文章对您有帮助,点击右侧打赏,支持一下吧。
创作文章不容易,转载文章必须注明文章出处;如果这篇文章对您有帮助,点击右侧打赏,支持一下吧。