是否可以在C中创建一个求和数组值的函数?如果是这样,怎么样?
以下是我所拥有的:
#include <stdio.h>
int sum(int a[][], int);
int main(void){
int a[2][2]={{1,2}, {3,4}};
printf("sum %d", sum(a,4));
return 0;
}
int sum(int a[][], int n){
int *p=a[0], sum=0;
while(p){
sum+=*p;
p++;
}
return sum;
}
答案 0 :(得分:0)
#include <stdio.h>
int sum(int *a, int n);
int main(void){
int a[2][2]={{1,2}, {3,4}};
printf("sum %d", sum((int*)a, 4));
return 0;
}
int sum(int *a, int n) {
int *p = a, sum = 0;
while(p != a + n) {
sum += *p++;
}
return sum;
}
答案 1 :(得分:-1)
是的,你可以 - 我认为这应该有效:
int sum(int **a, int n) {
int *p = a[0], sum = 0;
for(i = 0; i < n; i++) {
sum+=*p;
p++;
}
return sum;
}