⚠️ 把数组交给函数之后
(本条路线统一用 gcc -std=c11 -O0 编译)这次把数组传进了两个函数,长度是单独传进去的:
#include <stdio.h>
#define N 5
int sum_of(const int *a, int n);
int max_of(const int *a, int n);
int main(void) {
int a[N] = {10, 20, 30, 40, 50};
printf("%d/%d/%d\n", N, sum_of(a, N), max_of(a, N));
return 0;
}
int sum_of(const int *a, int n) {
int s = 0;
for (int i = 0; i < n; i++) s += a[i];
return s;
}
int max_of(const int *a, int n) {
int m = a[0];
for (int i = 1; i < n; i++) if (a[i] > m) m = a[i];
return m;
}
全部评论