- 有关形参实参的理解
- 指针函数
- 数组在函数中的传递
- 返回多个值
//求一个3*3的整型矩阵对角线元素之和,将原矩阵和求出的和输出
#include<stdio.h>
int main(){
int a[3][3];
int i,j;
int m,n;
int sum1=0;
int sum2=0;
for (i=0; i<3; i++) {
for (j=0; j<3; j++) {
printf("请输入a[%d][%d] ",i,j);
scanf("%d",&a[i][j]);
}
}
for (m=0; m<3; m++) {
for (n=0; n<3; n++) {
printf("%d\t",a[m][n]);
}
printf("\n");
}
sum(&a,&sum1,&sum2);
printf("main函数里面sum1=%d\n",sum1);
printf("main函数里面sum2=%d\n",sum2);
return 0;
}
int sum(int *p,int *sum1,int *sum2){
int b[3][3];
int s1=0;
int s2=0;
for (int i=0; i<3; i++) {
for (int j=0; j<3; j++) {
b[i][j]=*p;
p=p+1;
}
}
for (int m=0; m<3; m++) {
for (int n=0; n<3; n++) {
if(m==n){
s1=s1+b[m][n];
}
if (m+n==2) {
s2=s2+b[m][n];
}
}
}
printf("sum函数里面s1=%d\n",s1);
printf("sum函数里面s2=%d\n",s2);
*sum1=s1;
*sum2=s2;
return 0;
}