#include<stdio.h>
#define SIZE 4
int main()
{
int test_arr[SIZE] = { 2,4,5,6 };
// int answer = sum(test_arr, sizeof(test_arr) / sizeof(test_arr[0]));
int answer = sum_1(test_arr, test_arr + SIZE);//数组末尾后面一个位置,C保证该地址有效
printf("the answer is %d", answer);
}
int sum(int* arr, int n) {
int index = 0;
int total = 0;
for (; index < n; index++) {
total += arr[index];
}
return total;
}
int sum_1(int* st, int* end) {
int total = 0;
while (st<end)
{
//total += *st;
//st++;
//
total += *st++;
//total +=*st++ *和++优先级相同,但是结合律葱油往左等效于*(st++) 先把指针指向的值加到total上,指针再递增
//错误的写法 (*st)++ 这里是对数值执行++操作
}
return total;
}
c学习-数组形参
最新推荐文章于 2024-07-23 22:07:33 发布