43 lines
729 B
C++
43 lines
729 B
C++
#include <stdio.h>
|
||
//方法一
|
||
/*int average(int *arr,int line,int row){
|
||
int sum=0;
|
||
for(int i=0;i<line*row;i++){
|
||
sum+=*arr;
|
||
*arr++;
|
||
}
|
||
return sum;
|
||
} */
|
||
//方法二
|
||
int average(int (*arr)[3],int line,int row){
|
||
int sum=0;
|
||
for(int i=0;i<line;i++){
|
||
for(int j=0;j<row;j++){
|
||
sum+=*(*(arr+i)+j);
|
||
}
|
||
}
|
||
return sum;
|
||
}
|
||
int main(){
|
||
int * p[3];
|
||
int a[3][4];
|
||
for(int i=0;i<3;i++){
|
||
for(int j=0;j<4;j++){
|
||
scanf("%d",&a[i][j]);
|
||
}
|
||
}
|
||
for(int i=0;i<3;i++){
|
||
p[i] = a[i];
|
||
}
|
||
//在2维数组中,a[i]是i行的指针,&a[i]是i行的指针数组
|
||
//少用数组指针,挠头了
|
||
for(int i=0;i<3;i++){
|
||
for(int j=0;j<4;j++){
|
||
printf("%d ",*(* (p+i)+j));
|
||
}
|
||
}
|
||
//printf("%d",average(&a[0][0],3,4));
|
||
printf("%d",average(&a,3,4));
|
||
return 0;
|
||
}
|