#include<stdio.h>
int main(){ int i,j,a[3][3],sum=0;
printf("Enter the array:/n"); for(i=0;i<3;i++) { for(j=0;j<3;j++) { scanf("%d",&a[i][j]); } } printf("The array is/n"); for(i=0;i<3;i++) { for(j=0;j<3;j++) { printf("%d ",a[i][j]); } } printf("/n"); for(i=0;i<3;i++) { for(j=0;j<3;j++){ if(i=j) sum+=a[i][j]; } printf("sum=%d/n",sum);
return 0;
}
运行情况如下:
gcc array.c 回车
./a.out 回车
Enter the array:
1 2 3 4 5 6 7 8 9
The array is
1 2 3 4 5 6 7 8 9
sum=14
得出的结果是14,但是正确的结果是15;原因就在红色的那两行;把那两行用sum+=a[i][i];代替后在运行的话就可得出正确答案;