#include <stdio.h>
int array_add(int arr[],int n);
void main()
{
int a[3][3]={2,4,6,1,3,5,7,8,9};
int *p,sum;
p=a[0];
sum=array_add(p,9);
printf("The sum of array is %d",sum);
}
int array_add(int arr[],int n)
{
int k,sum=0;
for(k=0;k<n;k++)
sum=sum+arr[k];
return(sum);
}
小弟有几个问题不解,希望高手解答,尽量详细点
主调函数中要求二维数组的所有元素之和,实参是一个指向二维数组首地址的指针,但是形参是一个一维数组,从被调函数中的求和公式可以看出,这是一维数组的求和公式,若将a[3][3]的首地址传递给形参arr[],则arr[0]也指向数组a[3][3]的首地址的指针,并不是一个元素,怎么相加,arr[1]和arr[2] 分别是指向第二行和第三行的首地址的指针,不明白arr[k]怎么变成元素了
这是教材中的例题,没错误,希望高手详细点解答,我是菜鸟,才学
杨魅力