#include
using namespace std;
int sum(int a[],int n) {
int sum1 = 0;
for (int i = 0; i < n;i++) {
sum1 += a[i];
}
return sum1;
现有int a[2][3],若求数组a中所有元素的和,则对sumarray()调用正确的为:
A.sumarray(a,6) B.sumarray(a[0],6) C.sumarray(&a[0][0],6) D.sumarray(&a,6)
为什么?怎么理解?
a是一个二维数组,同时它也是一个指针
a,a[0],a[0][0]都是同一个地址,但是不能直接放进去用,要写成
*a,a[0],&a[0][0]
C
a[0][0]是int类型,取地址