C语言 我试图从2d数组中找到对角线的和.但是得到它的地址而不是它的值.有人能给我解释一下吗?



我试图在2d数组中求和对角线值,但得到不同的输出(Total:4194438),任何人都可以帮助我通过这个。

#include <stdio.h>

int main(){
int i,j,a,sum,total;

int diagonal_arr[3][3];

for(i=0;i<3;i++){
for(j=0;j<3;j++){
scanf("%d",&a);
diagonal_arr[i][j]=a;

}
}

for(i=0;i<3;i++){
for(j=0;j<3;j++){

if(i==j){
sum= printf("%dn",diagonal_arr[i][j]);
total+=sum;
}
}
printf("n");
}
printf("Total= %d ",total);

}

输出:

Total= 4194438

你想要这个:

...
total = 0;    // initialize total to 0
for (i = 0; i < 3; i++){
for (j = 0; j < 3; j++){    
if (i == j){
printf("%dn", diagonal_arr[i][j]);   // you can remove this line
total += diagonal_arr[i][j];         // add diagonal value
}
}
}
...

相关内容

最新更新